美文网首页LinuxLinux学习之路我用 Linux
nohup:在Linux服务器后台跑程序

nohup:在Linux服务器后台跑程序

作者: Sui_Xin | 来源:发表于2018-11-07 10:57 被阅读5次

    本文首发于我的个人博客Suixin's Blog
    原文: https://suixinblog.cn/2018/11/nohup.html  作者: Suixin

    一些时间长的命令经常需要在后台运行,但苦于通常我们都是通过PC去连接服务器,一直保持ssh连接是不太现实的,这时就需要一些命令使得断开ssh连接后服务器依旧在运行命令。

    命令后面加&在后台运行

    用法:

    python test.py > test.log 2>&1 &
    

    其中:

    >表示将标准输出(STDOUT)重定向到test.log文件;
    2>&1表示将标准错误(STDERR)重定向到标准输出。1是标准输出的文件描述符,2是标准错误的文件描述符;
    &表示将程序放到后台运行。

    这样,我们已经将命令放到了后台执行。但是,只要我们断开ssh连接,进程将会被终止,是因为我们运行命令的session属于ssh的子进程。

    nohup命令

    使用nohup即可实现断开ssh连接命令也不会被终止。nohup: no hang up.
    用法:

    nohup python test.py > test.log 2>&1 &
    

    运行之后可通过jobs查看正在运行的任务。
    重新登录之后使用ps和grep命令可查看后台进程,如ps aux|grep python可查看所有关于python的进程。
    :以上方法适用于大部分命令,将下载和上传的任务放到后台也是很方便的~

    参考

    http://iyuluo.com/2017/11/01/Linux-%E4%B8%8B%E5%90%8E%E5%8F%B0%E8%BF%90%E8%A1%8CPython%E8%84%9A%E6%9C%AC/
    https://www.ibm.com/developerworks/cn/linux/l-cn-nohup/

    相关文章

      网友评论

        本文标题:nohup:在Linux服务器后台跑程序

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