程序前后台的状态切换以及nohup命令的实用小技巧

一个进程的运行有两种表现形式,一个前台运行,一个是后台运行,前台运行占用终端资源,比较典型的就是ping命令,执行ping命令之后由于不断输出,到执行结束之前,是无法执行其他命令的,

后台执行的典型命令比如bash,screen,nohup,这些命令在执行过程中是不会影响其他命令操作执行的

ping命令想在后台执行也可以实现,执行操作ping ip &,加上&符号之后,命令将在后台执行,当然还有一些其他的后台运行命令例如:Ctrl+z,jobs,nohup,kill

如果想把后台的命令恢复到前台运行,jobs查看一下想恢复到前台的命令的作业编号,执行fg+空格+jobnumber+enter

前台的程序放到后台执行ctrl+z

ctrl+z与Ctrl+c还是有本质上的区别的,ctrl+c是终止程序,只能在前台执行,后台执行程序操作ctrl+c是无效的,而ctrl+z是让程序在后台处于休眠stop状态,那么如果想让程序在后台处于运行状态,执行bg+jobnumber或者kill -18%jobnumber

后台运行切换到后台休眠执行kill -19%jobnumber

在日常生产中,我们希望某些程序不会因为我们的窗口关闭而导致退出,就会把它放到后台执行,&符号就可以帮助我们将一些程序在后台执行,之前提到的screen命令也可以实现,和screen能达到相同效果的还有一个nohup命令,执行nohup cmd之后,系统会将输出结果放到一个nohup.out的文件里,如果不想让磁盘生成这个nohup.out的文件的话,还是老方法 ,扔到垃圾箱

nohup cmd &> /dev/null &

这样我们窗口关闭之后nohup就会自动将后台运行程序分配到1号进程systemd下持续运行

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值