I'm learning gearman and found that there are two ways to start the gearman:
sudo gearmand -d
sudo service gearman-job-server start
What's the difference?
When to use each of them?
Thanks for any feedback!
I'm learning gearman and found that there are two ways to start the gearman:
sudo gearmand -d
sudo service gearman-job-server start
What's the difference?
When to use each of them?
Thanks for any feedback!
Well this is not specific to gearmand but it applies to almost all linux daemons/services.
The program/service can be invoked through different ways. Directly from the terminal, through scripts in /etc and other means. I am assuming you know what sudo does.
# gearmand -d
You are invoking gearmand executable directly. The shell knows where the executable is, because the PATH is set. You may search its location by using "whereis gearmand" or finding it with find. This is the direct way of calling the application/service.
"daemon" is a background process. The "-d" argument to gearman starts it in daemon mode (in background).
Advantage/s:
Disadvantage/s:
# service gearman-job-server start
calls the script service which usually looks into the directory "/etc/init.d". If you wish to find where service is searching for the services in your linux distribution, you can look it up.
Search the location of service script "whereis service" then open it in less by "less path_to_service" or directly by "whereis service | cut -d " " -f2 | xargs less" to see the service file.
The service script sort of standardizes the way scripts are called in linux these days.
$ service service_name start
service_name started
$ service service_name start
service_name already running
$ service service_name stop
service_name stopped.
$ service service_name stop
service_name not running.
This provides a uniform way of starting or stopping all services.