将命令作为后台进程/服务运行

Mri*_*lla 12 unix bash shell service background-process

我有一个Shell命令,我想在后台运行,我已经读过这可以通过后缀一个&命令来完成,这个命令导致它作为后台进程运行但是我需要一些更多的功能,并且想知道如何去做吧:

  1. 我希望每次系统重启时都能在后台启动和运行命令.
  2. 我希望能够像需要的那样在需要时启动和停止它service apache2 start.

我怎么能这样做?是否有工具允许我将命令作为服务运行?

我有点迷失了.

谢谢

Mat*_*att 24

UNIX系统可以同时处理所需数量的进程(如果你在GUI中,只需打开新的shell窗口),因此只有在需要继续使用当前shell窗口进行其他操作时才需要在后台运行进程一旦你运行了一个继续运行的应用程序或进程.

要在后台模式下运行名为command的命令,您将使用:

command &
Run Code Online (Sandbox Code Playgroud)

这是一个特殊字符,一旦进程启动,就会返回命令提示符.还有其他特殊字符可以做其他事情,这里有更多信息.

  • 使用Sorgigal解决方案的优势在于您可以关闭终端/ shell进程,并且该进程将继续运行.这不是使用&的情况,因为进程仍然附加到特定的shell进程,并且如果shell进程那样退出. (7认同)
  • 要在关闭shell后保持`command`运行,请使用`nohup command &` (2认同)

Sor*_*gal 21

查看daemon命令,它可以将任意进程转换为守护进程.这将允许您的脚本充当守护进程,而无需您执行大量额外工作.下一步是在引导时自动调用它.要知道正确的方法,您需要提供您的操作系统(或者,对于Linux,您的发行版).