我已经看到了守护进程的工具。
但我已经看到了:
some_command &
以守护进程的方式运行进程,这种方式不好吗?这种方式怎么称呼?
更新
我的疑问是我在 ssh 会话中调用该命令,该过程会在关闭 ssh 会话后持续吗?
这不是守护进程,只是将它作为后台进程运行。
一个真正的 dameon 涉及更多。参见例如http://en.wikipedia.org/wiki/Daemon_(computer_software)#Creation。
& 是 UNIX 中一个重要的小字符;它的意思是“在后台运行命令”;即,将它从它开始的窗口中分离出来,这样它就不会阻塞命令行。
如果程序试图从终端窗口读取,它将被挂起,直到用户“将它带到前台”;即,将它带到没有 & 开头的状态。
要将程序置于前台,请使用“fg”或“%”。如果您有多个后台作业可供选择(“作业”将显示给您),则使用例如“%2”来选择第二个。
重要的:
如果您忘记在行尾添加 &,并且进程阻止了终端窗口的命令输入,您可以使用 Ctrl-Z 将进程置于后台“事后”。该过程被暂停,您将返回命令提示符。你应该做的第一件事可能是给出命令“bg”,它会恢复进程,但现在在后台。