用xshell登陆远程服务器跑运行时间非常长的命令时,你需要后台运行这个命令,而不会再你xshell掉线之后终止进程。
&
最简单的后台运行是:&,你可以在命令结束后加一个&,以表示该命令在后台运行而不会占用你的命令窗口:
命令格式: command &
nohup命令:
该命令是no hang up的缩写:退出xshell之后仍然会在服务器上运行相应的命令,直到运行完成自动退出。
命令格式:nohup command & 或者 nohup command > my_nohup.log 2>&1 &
第一种形式会在当前工作目录下自动生成nohup.out文件,记录后台运行情况;第二种形式会重定向到自定义文件中my_nohup.log中
在当前shell窗口下使用后台运行命令后可以使用命令 :jobs 来显示当前的后台运行进程。(下面的操作也局限于当前窗口的后台)
- ctrl+z:暂停前台执行的命令,并且放到后台。
- jobs :查看当前窗口的后台运行进程。
- fg :将后台命令调到前台继续运行,使用方法为:fg %jobnumber 注意,这里的jobnumber不是PID,是你jobs后的对应的number
- bg : 将一个后台的暂停的命令继续后台运行,使用同fg,配合ctrl+z使用
ps命令
列出后台运行的进程号:
如果你在不同的shell窗口下你使用 jobs看不到对应的进程,你可以使用 : ps -x 或者ps -ef 来查看你的shell中运行的命令。
当然可以配合其他命令来显示特定的进程:ps -x | grep 27582
kill命令
kill命令用来杀死进程(这里的进程号为PID号)
使用方法: kill -signal [process_number]
例如:kill -9 27582