Linux服务器使用(一)
1、进程
快捷键:
Ctrl+C
终止当前执行程序
Ctrl+Z
把前台正在运行的程序挂起并暂停
Ctrl+D
退出当前shell
Ctrl+S
挂起当前shell
Ctrl+Q
解冻挂起的shell,不可行就重新连接打开一个终端,reboot linux 或 kill 相关进程。
指令:
bg 将刚挂起的命令放到后台运行(比如:Ctrl+Z之后的)
bg %5 将第5个job放到后台运行
fg 将刚挂起的命令调到前台运行
fg %5 将第5个job调到前台运行
jobs 可以查看当前用户下后台正执行哪些程序
jobs -l 可以显示程序的PID
kill %5 杀死第5个job
也可以 kill (+PID)
后台执行
可以用 Command xxxx & 即直接在指令后加&,就可以将程序后台执行
之后可以加bg fg 配合使用
但是这样会导致若关闭Shell,后台的程序的全部停止运行
所以,有以下两种:screen 和
screen
1、安装screen命令
yum install screen #安装
2、创建screen会话
screen -S py1 #创建screen会话,自定义screen虚拟终端的名称,py1可以改为你想要的名称
创建会话后自动进入该虚拟终端
4、测试
我们可以执行一个服务,然后关闭SSH远程连接窗口,然后重新登录
screen -r #查看之前的虚拟终端
建立screen: screen -S py1 或者 screen
暂时离开screen会话窗口:Ctrl +A 再按D即可。此时服务器后台仍执行程序,即使远程断开也不影响。
想返回时,screen -r
假如同时开了多个,输入screen -r,会返回多个screen,选择要返回的screen的pid,即screen -r screenID
screen -ls #可以查看所有screen会话的
exit 和 Ctrl +C #要在screen中退出screen
#在Shell中不进入screen删除screen有以下两种:
screen -wipe py1
screen -S screenID -X quit # 需要先知道想删除的screen的ID
nohup
使用&命令后,作业被提交到后台运行,当前控制台没有被占用,但是一但把当前控制台关掉(退出帐户时),作业就会停止运行。nohup命令可以在你退出帐户之后继续运行相应的进程。nohup就是不挂起的意思( no hang up ).该命令的一般形式为:
nohup command &
如果使用nohup命令提交作业,那么在缺省情况下该作业的所有输出都被重定向到一个名为nohup.out的文件中,除非另外指定了输出文件
使用了nohup之后,不能理所当然不管了,因为有可能在当前账户非正常退出或者结束的时候,命令还是结束了。所以在使用nohup命令后台运行命令之后,需要使用exit正常退出当前账户,这样才能保证命令一直在后台运行。