适用场景
在linux系统上运行命令的时候,经常会遇到在前台运行命令想转到后台,且不希望它中断的情况(比如快到饭点),另外有一些需要交互验证的情况下直接后台运行会无效(如sudo,scp等),这时就需要手工转为后台运行,下面以scp举例
1.正常scp
2.输入ctrl+z
暂停任务
此时任务处于停止状态,可用jobs查看任务编号
3.输入bg %1
放入后台运行
注意%号后面跟你正确的进程号,不一定是1
4.输入disown -h %1
将这个任务转为nohup运行
同理%号后面也是跟实际的进程号
5.断开会话以后,输入ps -ef |grep testfile
查看任务是否中断
可以看到该任务的父进程变为1,说明该运行运行不受影响且不会中断。
注意:断开会话父进程才会变为1,不断开的情况下父进程号不会变化
后台任务调前台
有时候如果不小心直接后台运行,因为需要输入密码,任务会处于停止状态
此时可以通过
fg %1
将任务调到前台输入密码运行有些时候一些停止的任务无法kill掉的时候,也可以通过该方法解决