在Linux远程运行JAR包时,是不能关掉窗口程序的,否则程序也会终止。其中nohup表示后台运行,关闭窗口后也也继续执行,&意思是终端连接的时候后台运行,终端断了进程也会停。
具体解决方法是使用nohup命令,在窗口程序的前面加上nohup,程序的后面加上&,这样程序就会一直执行直到结束,而不会因为关闭窗口程序而停了。
例子,比如:nohupphpspider.php&回车,然后提示一堆东西,再次回车,回到shell界面。这就可以了。
还有一个问题:程序在执行中会输出一些信息,如果后台执行的话,这些信息是不是没法看了?(比如:程序执行出错终端,想看看报错信息之类的)。使用了nohup命令后,会在当前目录下生成一个nohup.out的日志文件,记录的就是命令的输出。
正常情况下在linux关闭一个程序最好是走正常的关闭流程,不要直接杀死进程,这样程序的稳定性确实会收到影响,但是如果想通过脚本来关闭程序正常情况下比较困难的,我便采取了这种暴力的方法-直接杀死进程。
括号里面的pidname便是要杀死的进程,就是图片里面标注出来的东西
kill -9 $(pidof pidname)
程序关闭,可以使用如下命令:
ps -ef|grep programkill -9 processID
以上通过ps命令查看program所用的进程ID,然后通过使用kill命令杀掉program查出来的processID(进程ID)。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)