温馨提示×

linux如何启动进程

小樊
43
2026-08-20 12:44:28
栏目: 智能运维

在 Linux 中启动进程有多种方式,根据使用场景不同,常见方法如下:


一、直接启动(前台进程)

在终端直接执行命令,就是一个进程:

ls
sleep 10

特点:

  • 进程在当前终端运行
  • 会占用终端,直到进程结束

二、后台启动进程

1️⃣ 使用 &

sleep 100 &
  • 进程在后台运行
  • 终端仍可继续使用
  • 输出仍可能打印到终端

查看后台任务:

jobs

回到前台:

fg %1

三、脱离终端运行(推荐)

1️⃣ 使用 nohup

nohup sleep 1000 > out.log 2>&1 &

特点:

  • 关闭终端,进程仍在运行
  • 输出重定向到 out.log

2️⃣ 使用 disown

sleep 1000 &
disown

四、一次性定时启动(at)

at now + 1 minute
at> sleep 100
at> Ctrl+D

查看任务:

atq

五、定时启动(周期性)

使用 cron

编辑定时任务:

crontab -e

示例(每分钟执行一次):

* * * * * /path/to/script.sh

六、系统服务方式(长期运行)

1️⃣ systemd(最常见)

创建服务文件:

sudo vim /etc/systemd/system/myproc.service

示例:

[Unit]
Description=My Process

[Service]
ExecStart=/usr/bin/sleep 1000
Restart=always

[Install]
WantedBy=multi-user.target

启动:

sudo systemctl daemon-reload
sudo systemctl start myproc
sudo systemctl enable myproc

查看状态:

systemctl status myproc

七、查看和管理进程

ps aux | grep sleep
top
htop
kill PID
kill -9 PID

八、常见启动方式对比

方式 是否后台 是否脱离终端 适用场景
直接执行 临时命令
& 临时后台
nohup + & 长期运行
systemd 服务程序
cron 定时任务

如果你有具体场景(比如 启动 Java 程序 / Python 服务 / Docker / 开机自启 / 守护进程),可以告诉我,我可以给你更精确的示例。

0