linux进程的前台/后台切换

1. 把程序放到后台运行

在前台运行的程序会一直占用终端命令行,例如你在前台解压的时候必须等着,期间干不了别的事(除非另开一个终端)。
但是如果把进程放到后台,可以把终端空出来,你可以执行其它的操作。另一个好处是,放到后台的程序不会被ctrl+C(误触)给终止。

1.1 一开始就把进程放到后台运行

直接在命令行末尾加上 &:

<命令行> &

例如 python train.py & 可以让train.py脚本一开始就在后台运行。这样运行后终端不会被占用,你仍然可以可以干别的事

1.2 把已经在前台运行进程放到后台
如果命令已经在前台运行了,你想把它放到后台:
1. 先键入Ctrl+z 选项把该进程暂停,放到后台(此时命令行空出来你可以干别的事);
2. 键入jobs -l查看进程的工作号(不是进程号PID),比如说工作号是2
3. 键入 bg %2 即可把该进程放到后台运行(bg=background)。如果直接键入bg则是把所有进程放到后台。
如果又想把后台程序放回前台,键入fg %2即可.(fg=foreground)
如果直接想杀掉后台进程,键入kill %2,或kill <PID号>也可

但是,即使把程序放到后台运行,一旦关闭终端,或者远程终端断网,都会直接终止所有进程。
对于一些需要长时间运行的程序,或者网络不稳定的情况下,我们希望在关闭终端下程序也照常运行,此时需要nohup命令:

2. 使用nohup让程序后台不挂断地运行

该命令可以在你退出帐户/关闭终端之后继续运行相应的进程。关闭终端后,在另一个终端键入jobs已经无法看到后台的程序了,此时利用pstop可以查看到。
nohup常常配合后台标记 &使用:

nohup <命令> &

例如nohup python train.py & 可以让train.py脚本一开始就在后台运行,且不会因为关闭终端而被打断。该进程产生的所有输出都会到当前目录下的一个叫nohup.out的文件中。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值