我有这个,它位于一个没有终端访问权限的无头盒上。
这是一个 Java 程序。
我已经尝试过以下方法;
输入以下内容rc.local
:
/shared/subsonic/subsonic.sh
根据日志,它启动了,但之后没有运行。它没有显示,ps aux
所以似乎一启动它就死机了。
我也尝试过:
nohup /shared/subsonic/subsonic.sh
根据nohup.out
其启动的文件,没有其他信息。
我尝试使用以下命令将其放入 crontab 中:
@reboot /shared/subsonic/subsonic.sh
crontab
向我发送一封电子邮件,说明它已启动并提供了进程编号,但当我通过 ssh 登录时它不存在。
如果我通过 ssh 登录并启动它,它会运行良好,非常好用。
因此,亚音速的输出需要在启动时输入到终端,否则它就会死亡。
答案1
不太确定您使用的是哪个版本的 Linux,但假设您使用的是 Ubuntu(或具有类似目录布局的 Linux 版本),这也应该可以为 Subsonic 创建真正的系统启动脚本。
首先进入init.d
Linux 系统上的目录,如下所示:
cd /etc/init.d
subsonic.sh
现在从目录subsonic
中设置符号链接,/etc/init.d
如下所示:
sudo ln -s /shared/subsonic/subsonic.sh subsonic
完成后,最后使用update-rc.d
以下命令设置系统初始化脚本:
sudo update-rc.d subsonic defaults
现在这一切都假设subsonic.sh
可以这样使用。假设是肯定的,假设它有效。然后您至少应该能够运行以下命令来启动服务:
sudo service subsonic start
这样做可以阻止它:
sudo service subsonic stop
假设它是一个合适的(并且经过深思熟虑的)启动脚本,那么您可以在没有指令的情况下运行它:
sudo service subsonic
命令行应该会显示与 Subsonic 相关的所有不同服务选项。一些常用选项包括restart
重新启动服务以及status
检查服务状态。或者您甚至可以查看subsonic.sh
脚本内部以查看存在哪些选项。