Linux前台任务转后台运行(会话中断不停止)

适用场景

在linux系统上运行命令的时候,经常会遇到在前台运行命令想转到后台,且不希望它中断的情况(比如快到饭点),另外有一些需要交互验证的情况下直接后台运行会无效(如sudo,scp等),这时就需要手工转为后台运行,下面以scp举例

1.正常scp

image.png

2.输入ctrl+z暂停任务

image.png

此时任务处于停止状态,可用jobs查看任务编号

3.输入bg %1放入后台运行

image.png

注意%号后面跟你正确的进程号,不一定是1

4.输入disown -h %1将这个任务转为nohup运行

image.png

同理%号后面也是跟实际的进程号

5.断开会话以后,输入ps -ef |grep testfile查看任务是否中断

image.png

可以看到该任务的父进程变为1,说明该运行运行不受影响且不会中断。
注意:断开会话父进程才会变为1,不断开的情况下父进程号不会变化

后台任务调前台

有时候如果不小心直接后台运行,因为需要输入密码,任务会处于停止状态

image.png

此时可以通过fg %1将任务调到前台输入密码运行
image.png

有些时候一些停止的任务无法kill掉的时候,也可以通过该方法解决

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。