【发布时间】:2019-03-09 13:33:50
【问题描述】:
我最近在 linux 操作系统上设置了我的游戏服务器,并使用 SSH 来运行运行游戏服务器的 java 文件。为了让我能够退出 SSH 会话但保持服务器运行,我正在使用 nohup 并创建一个为我执行此操作的脚本:
#!/bin/bash
cd "RSPS"
echo "Booting the RSPS..."
nohup java -Xmx220m -cp bin:lib/* com.ruseps.GameServer &
我可以随时使用tail 命令查看我的服务器的状态,如下所示:
#!/bin/bash
cd "RSPS"
tail -f nohup.out
但是,我的服务器有关闭钩子,它希望退出 java 文件以运行 top 然后 killing 服务的 PID 忽略了关闭钩子,从而破坏了“保存”状态并使我的服务器无法启动.
有没有办法可以重新打开进程并轻柔地终止服务,例如退出它以便文件可以运行关闭挂钩?
我目前正在做的,没有运行关机钩子的是通过命令行使用它:
top
kill PID_HERE
【问题讨论】: