linux命令之后台运行详解

对于linux后台运行命令不只是& 这么简单

如果只使用& ,也可以实现后台运行,不过这种方式是与终端绑定的,有父子进程关系
如果终端退出了,会发出一个停止命令让后台运行的程序也终止

如果想要退出终端的前提下,不让后台程序也终止.应该这么解决

方式一: nohup 命令 &

方式二: (命令 &)

方式三: setsid 命令

setsid ping www.baidu.com > ./test.txt &

方式四:(最强大,程序挂了还有重启功能) supervisor 进程管理包

如果你的程序已经在前台运行了,没有加后台运行命令,不要紧,这么做解决:
ctrl + z 挂起程序, 然后 bg 调到后台去. fg可以在调到前台. 如果有多个挂起程序, 使用jobs查看,然后指定程序号指定到后台/前台

如果你的程序在前台/后台运行了,没有加nohup 和 setpid ,又想解除后台运行程序与当前终端的绑定关系,一样能解决:
使用disown 命令
disown -a 清除当前已经停止运行的后台程序
disown -h 解除程序与终端的绑定. disown -h %n ; n代表后台的运行号,通过jobs查看运行号.也可以使用disown -h %% 来解除所有后台运行的程序与终端关系
disown -r 清除正在运行的后台程序,慎用

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

友情链接更多精彩内容