我希望能够通过单击网站上的按钮来停止/启动守护程序(在Debian上)。我知道守护进程可以工作,因为它通过SSH启动和停止。我什至可以用捕获状态$status=exec("/etc/init.d/MyService.shstatus|grep'isrunning'");但这行不通:exec('/etc/init.d/MyService.shstart',$output);我收到此错误:启动系统MyService守护程序:失败!我想这与权限有关,但我不知道如何。.pid文件的权限为-rwxrw-rw-我读了这个https://stackoverflow.com/a/6720364/348
我正在尝试编写一个小的python程序来关闭或重启我的RaspberryPI,由连接到GPIO的按钮驱动。该程序可以通过两个LED显示树莓派的当前状态(启动、运行、停止、重启)。python程序作为守护进程执行,由init.dbash脚本(使用/etc/init.d/skeleton编写)启动。现在我可以启动/停止/验证守护进程的状态,守护进程可以检查按钮连接的输入,以执行命令“shutdown-hnow”或“shutdown-rnow”。为了显示树莓派的当前状态,我想到了向守护进程发送消息,使用运行级别目录中的一些脚本来更改LED的状态。但是我不知道如何在python程序中接收消息。
我正在尝试编写一个小的python程序来关闭或重启我的RaspberryPI,由连接到GPIO的按钮驱动。该程序可以通过两个LED显示树莓派的当前状态(启动、运行、停止、重启)。python程序作为守护进程执行,由init.dbash脚本(使用/etc/init.d/skeleton编写)启动。现在我可以启动/停止/验证守护进程的状态,守护进程可以检查按钮连接的输入,以执行命令“shutdown-hnow”或“shutdown-rnow”。为了显示树莓派的当前状态,我想到了向守护进程发送消息,使用运行级别目录中的一些脚本来更改LED的状态。但是我不知道如何在python程序中接收消息。
关闭。这个问题是opinion-based.它目前不接受答案。想要改进这个问题?更新问题,以便editingthispost可以用事实和引用来回答它.关闭9年前。Improvethisquestion虽然我发现这个问题在SW上多次得到回答,但我没有找到最佳方法的结论性答案。我不打算使用任何外部包装器,因为我发现它们在低于自身的良好级别下启动java进程,这可能会降低性能,因此似乎只剩下shell方法。到目前为止,我发现了3种不同的shell方法:启动停止守护进程RedHat守护进程init.d函数nohuponstart/disownafterstart你们正在使用什么,可以推荐最可靠
关闭。这个问题是opinion-based.它目前不接受答案。想要改进这个问题?更新问题,以便editingthispost可以用事实和引用来回答它.关闭9年前。Improvethisquestion虽然我发现这个问题在SW上多次得到回答,但我没有找到最佳方法的结论性答案。我不打算使用任何外部包装器,因为我发现它们在低于自身的良好级别下启动java进程,这可能会降低性能,因此似乎只剩下shell方法。到目前为止,我发现了3种不同的shell方法:启动停止守护进程RedHat守护进程init.d函数nohuponstart/disownafterstart你们正在使用什么,可以推荐最可靠
在Ubuntu中创建自定义守护进程的“正确”方法是什么,该守护进程将在启动时启动并可由Ubuntu的标准守护进程启动/停止命令控制?我可以只复制并粘贴其中一个脚本到/etc/init.d中,还是我需要在其他地方“注册”守护进程? 最佳答案 由于您专门询问了Ubuntu,您应该知道sysv样式的初始化脚本(位于/etc/init.d下的脚本)正在被逐步淘汰,以支持Upstart作业,恕我直言,这些作业更容易创建并与之合作。以下是一些帮助您入门的链接:http://upstart.ubuntu.com/http://en.wikiped
在Ubuntu中创建自定义守护进程的“正确”方法是什么,该守护进程将在启动时启动并可由Ubuntu的标准守护进程启动/停止命令控制?我可以只复制并粘贴其中一个脚本到/etc/init.d中,还是我需要在其他地方“注册”守护进程? 最佳答案 由于您专门询问了Ubuntu,您应该知道sysv样式的初始化脚本(位于/etc/init.d下的脚本)正在被逐步淘汰,以支持Upstart作业,恕我直言,这些作业更容易创建并与之合作。以下是一些帮助您入门的链接:http://upstart.ubuntu.com/http://en.wikiped
我习惯于使用Topshelf创建Windows服务。对于.NETCore和跨平台的前景,这引发了许多有趣的场景:鉴于Topshelf尚不支持.NETCore,我该如何为.NETCore创建Windows服务?(一种方法可能是创建一个常规的.NETCore控制台应用程序并使用NSSM安装它,但它不提供启动/停止的Hook,因此无法正常停止服务)。你如何在Linux上做同样的事情?没有Windows服务,但是有守护进程的概念。Thisanswer提供了一种基本方法,但需要额外的工作并依赖于某些底层软件。上面的#1和#2能否使用跨平台方法完成,或者是否有必要针对每个平台解决这个问题(例如使用
我习惯于使用Topshelf创建Windows服务。对于.NETCore和跨平台的前景,这引发了许多有趣的场景:鉴于Topshelf尚不支持.NETCore,我该如何为.NETCore创建Windows服务?(一种方法可能是创建一个常规的.NETCore控制台应用程序并使用NSSM安装它,但它不提供启动/停止的Hook,因此无法正常停止服务)。你如何在Linux上做同样的事情?没有Windows服务,但是有守护进程的概念。Thisanswer提供了一种基本方法,但需要额外的工作并依赖于某些底层软件。上面的#1和#2能否使用跨平台方法完成,或者是否有必要针对每个平台解决这个问题(例如使用
我看过很多用于在Linux中守护python脚本的脚本,但关于如何使用它们的信息不多。有人可以指导我吗?我目前有一个冗长的python脚本,它在套接字上监听传入消息,如果格式正确,则接受它,然后将其存储到数据库中。脚本本身只是打开套接字,然后监听一段时间(完成工作!)并在那里完成所有工作。要对其进行守护进程,我是否必须修改当前脚本或从单独的脚本中调用它?我看过这两个例子,但都没有用。此外,我正在使用virtualenv,这可能是我问题的根源,关于将它与守护进程脚本一起使用有任何提示吗? 最佳答案 创建一个shell脚本来激活虚拟环境