要在系统启动时自动运行nohup命令,你可以将命令添加到系统的启动脚本中。以下是在不同系统中实现的方法:
对于Systemd(大多数现代Linux发行版):
/etc/systemd/system/my-nohup-service.service。请确保使用root权限运行文本编辑器。sudo nano /etc/systemd/system/my-nohup-service.service
<your-command>为你想要运行的命令。[Unit]
Description=My nohup service
[Service]
Type=simple
ExecStart=/usr/bin/nohup /path/to/your/command --option1 --option2 >/dev/null 2>&1 &
Restart=on-failure
[Install]
WantedBy=multi-user.target
保存并关闭文件。
通过以下命令启用新创建的服务,使其在启动时自动运行:
sudo systemctl enable my-nohup-service.service
sudo systemctl start my-nohup-service.service
sudo systemctl status my-nohup-service.service
对于SysVinit(较旧的Linux发行版):
/etc/init.d/my-nohup-script。请确保使用root权限运行文本编辑器。sudo nano /etc/init.d/my-nohup-script
<your-command>为你想要运行的命令。#!/bin/sh
### BEGIN INIT INFO
# Provides: my-nohup-script
# Required-Start: $all
# Required-Stop:
# Default-Start: 2 3 4 5
# Default-Stop:
# Short-Description: Start my nohup command at boot time
# Description:
### END INIT INFO
case "$1" in
start)
nohup /path/to/your/command --option1 --option2 >/dev/null 2>&1 &
;;
stop)
# Add any stop commands if necessary
;;
*)
echo "Usage: /etc/init.d/my-nohup-script {start|stop}"
exit 1
;;
esac
exit 0
保存并关闭文件。
通过以下命令使新创建的启动脚本可执行:
sudo chmod +x /etc/init.d/my-nohup-script
sudo update-rc.d my-nohup-script defaults
现在,无论你使用的是哪种系统,nohup命令都将在系统启动时自动运行。如果需要停止或重启服务,请使用相应的systemctl或/etc/init.d/my-nohup-script命令。