命令"sudo gearmand -d"和"sudo service gearman-job-server start"有什么区别?



我正在学习gearman,发现有两种方法可以启动gearman:

  • sudo gearmand-d

  • sudo服务gearman作业服务器启动

有什么区别?

什么时候使用它们?

感谢您的反馈!

这不是gearmand特有的,但它适用于几乎所有的linux守护进程/服务。

程序/服务可以通过不同的方式调用。直接从终端,通过/etc/etc中的脚本和其他方式。我假设你知道须藤是做什么的。

#gearmand-d

您正在直接调用gearmand可执行文件。shell知道可执行文件在哪里,因为设置了PATH。您可以使用"whereis gearmand"或使用find查找它来搜索它的位置。这是调用应用程序/服务的直接方式。

"守护进程"是一个后台进程。gearman的"-d"参数在后台程序模式下启动它。

优点:

  1. 如果在同一台机器上编译多个版本的服务,在本例中为"gearman",则可以单独调用它们,而无需安装/重新安装
  2. 有时安装不起作用,或者服务可能不支持启动脚本等

缺点:

  1. 可能不会像标准脚本/命令那样提供统一的输出
  2. 您可能需要知道文件的位置

#service gearman作业服务器启动

调用脚本service,该脚本通常会查找目录"/etc/init.d"。如果您想找到service在linux发行版中搜索服务的位置,可以查找它。

搜索服务脚本"where is service"的位置,然后通过"lesspath_to_service"或直接通过"where is service|cut-d"-f2|xargs-less"在less中打开它,以查看服务文件。

服务脚本在某种程度上规范了目前在linux中调用脚本的方式。

$service service_name启动

service_name已启动

$service service_name启动

service_name已在运行

$service service_name stop

service_name已停止。

$service service_name stop

service_name未运行。

这提供了启动或停止所有服务的统一方式。

最新更新