postfix start
直接启动 postfix ( ) 和将其作为服务启动 ( )有什么区别service postfix start
?最佳实践的首选方式是什么(如果有的话),有没有办法让service postfix status
进程显示为活动状态,无论它是如何启动的?
一些代码进一步说明:
root@luke:/# postfix status; service --status-all | grep postfix
postfix/postfix-script: the Postfix mail system is running: PID: 17332
[ - ] postfix
root@luke:/# postfix stop; service postfix start
postfix/postfix-script: stopping the Postfix mail system
root@luke:/# postfix status; service --status-all | grep postfix
postfix/postfix-script: the Postfix mail system is running: PID: 18237
[ + ] postfix
答案1
将其作为系统服务启动自然是最好的方式,其他一切都应该只用于测试/调试目的。
这样,该服务就集成到系统的正常启动过程中,并且可以在后续重新启动时轻松打开或关闭,并且您可以使用 init 系统的报告功能。
对于手动启动的服务,此报告(service xxxx status
)无法轻易实现,虽然这并非不可能,但您需要自己做一些工作才能实现(然后在更新时遇到冲突)。
说到更新,这是使用系统服务的另一个重要优势,因为更新机制可以根据更新的配置和性质在必要时重新启动服务。