学习之余我最大的乐趣是找一部不错的电影慢慢品味,这也是我缓解压力的最好方式之一,由于我常去的字幕组网站需要签到才可以下载字幕,像这种娱乐网站谁有时间天天记得去签到呢,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" &
查看后台进程:
[email protected]:~$ 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登录,查看后台进程,输出和上面的一样。可见此方法可行。