怎样设置Ubuntu进程自动启动
导读:Ubuntu 进程自动启动的常用方法 一 推荐方式 Systemd 服务 适用场景:将程序作为系统服务托管,支持依赖管理、自动重启、日志收集,适合服务器与长期运行进程。 步骤: 创建服务单元文件 sudo nano /etc/syste...
Ubuntu 进程自动启动的常用方法
一 推荐方式 Systemd 服务
- 适用场景:将程序作为系统服务托管,支持依赖管理、自动重启、日志收集,适合服务器与长期运行进程。
- 步骤:
- 创建服务单元文件
sudo nano /etc/systemd/system/myapp.service - 写入示例配置(按需修改)
[Unit]
Description=My Application
After=network.target
[Service]
Type=simple
User=your_username
WorkingDirectory=/home/your_username/app
ExecStart=/home/your_username/app/start.sh
Restart=always
RestartSec=5
Environment=DISPLAY=:0
[Install]
WantedBy=multi-user.target - 使配置生效并启用
sudo systemctl daemon-reload
sudo systemctl enable myapp.service --now - 常用运维
sudo systemctl status myapp.service
sudo systemctl stop|restart myapp.service
journalctl -u myapp.service -f - 图形程序要点:使用普通用户运行,设置 User= 与 Environment=DISPLAY=:0,必要时设置 XAUTHORITY 等环境变量。
- 创建服务单元文件
二 图形界面程序自启动
- 适用场景:登录桌面后自动启动 GUI 应用(如托盘程序、编辑器)。
- 方式 A:启动应用程序
打开“启动应用程序”(或运行 gnome-session-properties),添加命令与名称;对应配置保存在 ~/.config/autostart/。 - 方式 B:手动放置 .desktop 文件
新建 ~/.config/autostart/myapp.desktop:
[Desktop Entry]
Type=Application
Name=MyApp
Exec=/path/to/your/app
Hidden=false
如需延迟启动,可在 Exec 前加 sleep,例如:Exec=bash -lc ‘sleep 10 & & /path/to/app’。
三 轻量方式与旧版兼容
- Crontab @reboot:适合简单命令或脚本
crontab -e
添加:@reboot /path/to/your/script.sh(脚本需可执行;注意环境变量与路径问题)。 - rc.local(旧机制,按需启用):
现代 Ubuntu 可能默认不启用,可通过 systemd 的 rc-local.service 兼容:- 创建或编辑 /etc/rc.local,在 exit 0 前添加命令;
- chmod +x /etc/rc.local;
- 启用服务:sudo systemctl enable --now rc-local.service。
提示:更推荐使用 systemd 单元替代 rc.local。
- SysVinit 脚本(旧版或特定环境):
创建 /etc/init.d/myscript,加入 LSB 头与 start/stop 分支;
赋权:sudo chmod +x /etc/init.d/myscript;
启用:sudo update-rc.d myscript defaults;
操作:sudo service myscript start|stop。
四 方法选择建议
- 服务器后台服务:优先用 systemd(可控、可监控、可依赖)。
- 登录后 GUI 应用:用 ~/.config/autostart 或“启动应用程序”。
- 简单一次性任务或快速试验:用 @reboot。
- 老旧系统或必须兼容 SysV:用 /etc/init.d + update-rc.d。
声明:本文内容由网友自发贡献,本站不承担相应法律责任。对本内容有异议或投诉,请联系2913721942#qq.com核实处理,我们将尽快回复您,谢谢合作!
若转载请注明出处: 怎样设置Ubuntu进程自动启动
本文地址: https://pptw.com/jishu/759427.html
