【发布时间】:2012-03-21 04:37:33
【问题描述】:
我正在使用打包的 jar 在远程服务器上运行服务,问题是当我结束 ssh 会话时,它也会终止进程,包括我需要的服务。
大约一年前我用一个 cron 脚本玩过这个,但没有运气,任何指针都将不胜感激。
刘易斯
【问题讨论】:
我正在使用打包的 jar 在远程服务器上运行服务,问题是当我结束 ssh 会话时,它也会终止进程,包括我需要的服务。
大约一年前我用一个 cron 脚本玩过这个,但没有运气,任何指针都将不胜感激。
刘易斯
【问题讨论】:
您需要使用nohup 命令,这样可以防止会话结束时进程挂起。
nohup java -jar myjar.jar
只是想我会添加这个,以回应 Marvin Pinto 所说的话。您还可以将控制台输出发送到文件,如下所示:
nohup java -jar myjar.jar >> logfile.log 2>&1
【讨论】:
java -jar myjar.jar 2>&1 > log.out &
可能需要更多细节,但总的来说,我认为您需要查看 nohup 或守护进程以将其与父 shell 进程分离。
【讨论】:
当我需要在远程机器上运行类似的长时间运行的操作时,我通常使用screen 会话。
每当我登录或退出服务器时,加入或分离会话变得很容易。额外的好处是它会保存所有的 stdout/stderr 输出,以备您返回时使用。
【讨论】: