• Linux:使用nohup让进程在后台可靠运行


    学习之余我最大的乐趣是找一部不错的电影慢慢品味,这也是我缓解压力的最好方式之一,由于我常去的字幕组网站需要签到才可以下载字幕,像这种娱乐网站谁有时间天天记得去签到呢,but作为一个准程序猿应该有更好的办法。果然我在github上逛了逛,便发现的一个不错的签到脚本,看来很多人都着和我一样的刚需呀,这里附上地址

    一动手很多问题便接踵而至,我打算把这个脚本运行在我的腾讯云服务器上面,并且定一个时间,让它每天在固定的时间run。可是我用的ssh 登录的远程Linux 服务器,如果直接按照那脚步的API执行,有一个致命的问题,我一旦在ssh终端执行了exit,所有子线程都会终止,脚本程序也是一样。

    去google了一通后,发现有几个不错的方法可以解决这个问题,这里我只介绍我使用的那个方法。

    解决方法:

    nohup

    首先看看nohup的帮助信息

    NOHUP(1)                        User Commands                        NOHUP(1)
    
    NAME
           nohup - run a command immune to hangups, with output to a non-tty
    
    SYNOPSIS
           nohup COMMAND [ARG]...
           nohup OPTION
    
    DESCRIPTION
           Run COMMAND, ignoring hangup signals.
    
           --help display this help and exit
    
           --version
                  output version information and exit

    ps:英语不好的同学也要锻炼着多读英语文档,我以前英语差的可怜,高考就是败在英语上面。后来为了能看懂英语文档,同时应考大学英语四级,我花了一年时间啃英语,每天背两小时单词,看语法,做模拟试卷,到考试之前我做了大概50套题目,把近几年的考试题一集各种预测题都做了一遍。功夫不负有心人,昨天(2016年8月19日)我查四级成绩,过了可以报考六级的分数线,下半年我准备继续报英语六级。

    回到正题:nohup 的使用只需在要处理的命令前加上 nohup 即可,一般在结尾加上"&"来将命令同时放入后台运行。

    示例:

    nohup ./qian-ni-mei-server.sh "larsenlouis" "12345678" "0100" &

    查看后台进程:

    ubuntu@VM-10-71-ubuntu:~$ ps -ef | grep "qian*"
    root 8017 1 49 Aug19 ? 05:09:17 /bin/bash ./qian-ni-mei-s erver.sh username passward 2206
    root 8401 1 49 Aug19 ? 05:04:06 /bin/bash ./qian-ni-mei-s erver.sh username passward 2206

    我在终端执行exit后再次使用ssh登录,查看后台进程,输出和上面的一样。可见此方法可行。

     
  • 相关阅读:
    第04组 Alpha冲刺 总结
    第04组 Alpha冲刺 (6/6)
    软工实践个人总结
    第09组 每周小结 (3/3)
    第09组 每周小结 (2/3)
    第09组 每周小结 (1/3)
    第09组 Beta冲刺 总结
    第09组 Beta冲刺 (5/5)
    第09组 Beta冲刺 (4/5)
    第09组 Beta冲刺 (3/5)
  • 原文地址:https://www.cnblogs.com/billyu/p/5789611.html
Copyright © 2020-2023  润新知