进程的前后台切换
方法一:bg/fg
ctrl+z 暂停当前进程:
bg 放入后台
fg 拿回前台
jobs 查看当前队列,含有id
kill %id 杀掉
方法二:使用&符号 后台运行脚本常用
sleep 200 & 加一个&符号自动就会放入后台,脚本或者命令需要全路径
注意:使用& 此终端退出,脚本也会随之退出。原因解释:当你关闭终端(如 exit
、断开 SSH 或关闭终端窗口)时:
- 所有这个终端 子进程会收到一个 SIGHUP(挂断)信号
- 普通后台进程(即你用
&
启动的)也会收到这个信号,默认行为是终止
解决办法:
使用nohup,nohup 会忽略 SIGHUP 信号,让进程继续运行
方法三:screen(推荐)
常用screen参数
screen -S yourname #新建一个叫yourname的session
screen -ls/screen -list #列出当前所有的session
screen -r yourname #回到yourname这个session
screen -d yourname #远程detach某个session
screen -d -r yourname #结束当前session并回到yourname这个session
平滑的退出screen,但不会终止screen中的任务。
ctrl+a+d
注意: 如果使用exit 才算真的关闭screen窗口