Linux命令后台运行及其前后台运行间切换的方法

一、程序后台运行方法:

1、最简单的方法是在命令或程序执行命令后面加上‘&’
例如 cp movie.rar /home/users/Desktop/movie.rar &
该命令就在后台运行了。

2、nohub+&

nohup 的用途就是让提交的命令忽略 hangup 信号。程序后台运行只需在要处理的命令前加上 nohup,末尾加上& 即可
3、setsid

nohup 无疑能通过忽略 HUP 信号来使我们的进程避免中途被中断,但如果我们换个角度思考,如果我们的进程不属于接受 HUP 信号的终端的子进程,那么自然也就不会受到 HUP 信号的影响了。setsid 就能帮助我们做到这一点。只需在要处理的命令前加上 setsid 即可。

对于R脚本、命令的后台批处理运行很有效。此时的操作为:

setsid R CMD BATCH command


二、如果当前程序已经在运行,使用ctrl + z暂停程序并放置后台(注意程序未终止)
然后在bash里面输入jobs -l 找到刚才程序的jobs号;jobs从1开始排序。。。
比如当前程序的jobs号为1,然后输入bg %1;然后程序就在后台运行了。

三、要想把程序从后台挪回前台,如二中介绍的方式,不过命令为fg。