Linux命令行启动多个软件
Linux命令行启动多个软件详细介绍
在 Linux 命令行中启动多个软件时,可以根据需求选择 顺序执行、并行运行 或 批量管理 等方式。以下是常用方法及示例:
一、直接在命令行启动(简单场景)
1.
顺序执行多个命令(分号分隔)
每个命令按顺序执行,前一个命令执行完毕后才会运行下一个。
bash
command1 command2 command3
2.
并行后台运行(& 符号)
在每个命令后添加 &,使程序在后台运行,不阻塞终端。
bash
command1 command2 command3
- 优点:简单快捷,适合临时启动多个独立程序。
- 注意:终端关闭后程序可能终止(除非用
nohup或终端复用器),可用jobs查看后台进程,用kill %n(n为作业编号)终止。
二、避免终端关闭影响(持久化运行)
1.
nohup 防止终端断开
使用 nohup 让程序忽略终端断开信号,配合 & 在后台运行。
bash
command1command2
2.
终端复用器(tmux/screen)
创建多个独立终端会话,每个会话运行一个程序,终端关闭后会话仍在后台运行。
- tmux 示例:bash
tmux new session1tmux new session2
tmux attach session1
- 常用命令:
tmux list-sessions(查看会话)、tmux kill-session -t session1(终止会话)。
- 常用命令:
三、批量启动(脚本化)
将多个启动命令写入 shell 脚本,方便重复使用。
1.
编写启动脚本(.sh)
bash
command1
command2
- 步骤:
- 新建文件:
nano start_apps.sh - 赋予执行权限:
chmod +x start_apps.sh - 运行脚本:
./start_apps.sh
- 新建文件:
2.
按顺序或条件启动
在脚本中加入逻辑(如判断程序是否已运行):
bash
pgrep /dev/null
program1
program2
四、特殊场景处理
1.
图形界面程序(GUI)
直接在命令行输入程序名称(如 firefox、gedit),系统会调用默认图形环境启动,无需额外参数:
bash
firefoxthunderbird
2.
管理多个进程
- 查看所有进程:
ps aux | grep [程序名] - 终止进程:
kill PID(PID 为进程 ID)或pkill 程序名
总结
- 临时并行启动:用
&分隔命令(如cmd1 & cmd2 &)。 - 持久化后台运行:结合
nohup或终端复用器(tmux/screen)。 - 批量管理:编写 shell 脚本,支持顺序、条件或循环启动。
根据需求选择合适的方法,提升多程序启动的效率和可控性。