后台命令
当前shell中后台执行的程序就是job
比如,当你兴致勃勃的打开VIM,写代码写到正酣时,运营MM或者产品MM气喘吁吁的跑过来:“赶紧帮我跑一下xx的数据,一会做PPT要用”。可是不想直接关闭当前的VIM,而且某些系统下,又不能新开tty(如设置了maxlogins参数)去执行这些任务,这可怎么办呢?方案是直接Ctrl+Z,把程序放到bash后台执行。
在Linux中,通过&或者Ctrl+Z,可以把指令放到bash后台,这些后台指令统称为jobs:
# &后台运行 tar -zpcf /root/VMwareTools-10.2.0-7259539.tar.gz /root & # nohup+&后台运行 nohup yum remove -y cron* > /tmp/log.txt 2>& 1 &
查看jobs状态
jobs 列出job number、命令串。 jobs -l 列出job number、命令串,同时列出pid号码。 jobs -r 仅列出正在后台运行的工作。 jobs -s 仅列出正在后台暂停的工作。
把job从后台转到到前台
fg 取出最近被放到后台的工作。 fg + 取出最近被放到后台的工作。 fg - 取出最近最后第二个被放到后台的工作。 fg %3 取出后台号码为3 的工作。"%"可有可无
bg让工作在后台下的状态由暂停变成运行中
bg 2 让后台号码为2 的工作状态变成运行中
kill结束后台工作
kill -l 列出目前kill能够使用的信号有哪些。 kill -1 %2 启动被终止的进程,重新读取一次工作号码为2的工作的参数配置文件,类似重新启动。 kill -2 %2 相当于用键盘ctrl + c来中断工作号码为2的工作的进行。 kill -9 %2 立刻强制删除工作号码为2的工作。 kill -15 %2 以正常的程序方式终止工作号码为2的工作。 kill -17 %2 相当于用键盘ctrl + z来暂停工作号码为2的工作的进行。 kill pid号码 立刻删除pid号码对应的工作
Ref
- https://blog.csdn.net/renfeigui0/article/details/101023483
- https://blog.csdn.net/ohmygirl/article/details/40408505
发表回复