我正在使用docker创建一个tcserver实例,当我这样做时,它将被成功地停止。
./tcruntime-ctl.sh停止
但是,当我执行以下操作时,该实例不会成功地重新启动。
./tcruntimectl.sh运行
原因是PID文件(PID=1)仍然存在,没有被删除。
请注意,我使用run命令将tcserver实例作为前台进程运行。
发布于 2016-02-08 20:31:59
如果错误仅仅是上一次运行中有残留的pidfile,则可以在调用tcruntime-ctl.sh脚本之前删除pidfile。由于tcServer实例的生存期与坞容器的生存期有关,因此可以安全地假定pidfile中引用的进程以前已退出。您可以编写自己的脚本,在execing tcruntime.sh之前进行清理,或者添加如下内容:
#!/bin/sh
pidfile=$(dirname $0)/../logs/tcserver.pid
if [ -f $pidfile ] ; then
rm $pidfile
fihttps://stackoverflow.com/questions/34398963
复制相似问题