在 CentOS 中,要使 nohup 命令在后台运行的程序在系统重启后自动启动,可以使用 systemd 服务来实现。以下是创建一个 systemd 服务以实现 nohup 命令自动重启的步骤:
/etc/systemd/system/my_nohup_service.service
。请将 my_nohup_service
替换为您自己的服务名称。sudo vim /etc/systemd/system/my_nohup_service.service
[Unit] Description=My nohup service After=syslog.target network.target [Service] Type=simple User=<your_user> Group=<your_group> ExecStart=/usr/bin/nohup /path/to/your/command > /path/to/your/logfile 2>&1 & Restart=always [Install] WantedBy=multi-user.target
请将 <your_user>
和 <your_group>
替换为您希望以该用户身份运行程序的用户和组。将 /path/to/your/command
替换为您要运行的命令的路径,将 /path/to/your/logfile
替换为您希望将输出重定向到的日志文件的路径。
保存并关闭服务文件。
重新加载 systemd 配置。运行以下命令以使 systemd 重新加载配置并识别新创建的服务:
sudo systemctl daemon-reload
sudo systemctl enable my_nohup_service.service
sudo systemctl start my_nohup_service.service
现在,您的 nohup 命令将在后台运行,并在系统重启后自动启动。您可以使用以下命令检查服务状态:
sudo systemctl status my_nohup_service.service