美文网首页linux命令linux问题
linux命令之后台运行详解

linux命令之后台运行详解

作者: 陆_志东 | 来源:发表于2018-07-30 22:28 被阅读0次

    对于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 清除正在运行的后台程序,慎用

    相关文章

      网友评论

        本文标题:linux命令之后台运行详解

        本文链接:https://www.haomeiwen.com/subject/eppqvftx.html