我正在使用打包的jar在远程服务器上运行服务,问题是当我结束ssh会话时它也会杀死进程'包括我需要的服务。
我大约一年前用cron脚本玩这个但没有运气,任何指针都会受到赞赏。
路易斯
答案 0 :(得分:5)
您需要使用nohup命令,这可以防止在会话结束时挂起进程。
nohup java -jar myjar.jar
以为我会补充这一点,以回应Marvin Pinto所说的话。您还可以将控制台输出发送到如下文件:
nohup java -jar myjar.jar >> logfile.log 2>&1
答案 1 :(得分:4)
当我需要在远程计算机上运行类似的长时间运行时,我通常使用screen会话。
每当我登录或退出服务器时,加入或分离会话变得容易。额外的好处是它会在你回来时保存所有的stdout / stderr输出。
答案 2 :(得分:3)
可能需要更多细节,但总的来说,我认为你会想要查看nohup或守护进程以将其从父shell进程中分离出来。