如何在CentOS中创建开机自启动的服务?

如何在CentOS中创建开机自启动的服务?

当我启动 CentOS 机器时,该httpd服务会自动启动。如何制作具有相同功能的定制服务?我有一个用于挖矿的程序,我不想./miner每次启动机器时都需要运行。

答案1

由于您使用的是 CentOS 7.x,因此创建一个单元。vim /usr/lib/systemd/system/miner.serviceasroot并输入以下内容:

[Unit]
Description=miner

[Service]
ExecStart=/path/to/miner

[Install]
WantedBy=multi-user.target

如果有用于关闭或重新加载服务的特定参数,您可以添加ExecStop=和选项。ExecReload=

之后,您只需systemctl enable miner.service使其在每次启动时启动即可。

相关内容:

答案2

根据矿工程序提供商的不同,您可能已经声明了相关的服务。

在centOS上你可以检查:

# chkconfig --list 

如果您看到您的程序,您可以告诉系统在启动时自动运行它

# chkconfig postgresql on

如果您没有找到任何结果,您可以使用模板创建自己的虚拟脚本,例如:

如何为 shell 脚本创建服务,以便可以像守护进程一样启动和停止它?

然后将其放入 /etc/init.d/ 并 chmod +x 它

您应该能够将您的矿工应用程序作为服务进行管理,并具有其附带的所有优势

答案3

如果您只需要在启动时运行命令,则实际上不需要尝试创建实际的服务。最简单的方法就是放入. /path/to/miner/etc/rc.d/rc.local。该文件是每次启动时运行的脚本(并确保 rc.local 可执行),因此您的命令将在服务器启动时运行。

如果您需要将其实际作为服务进行处理,那么最好的方法取决于您使用的是 CentOS 7 还是 5/6。

编辑:忘记提及,这将以 root 身份执行,因此如果您需要它以非 root 用户身份运行,请改用su - username -c /path/to/miner

相关内容