我正在尝试学习一些关于Linux下进程通信的知识,因此我编写了两个简单的C程序来进行通信。
然而,每次手动运行它们有点烦人,所以我想知道是否有一种方法可以创建一个程序来同时运行它们,类似于这样:
然而,每次手动运行它们有点烦人,所以我想知道是否有一种方法可以创建一个程序来同时运行它们,类似于这样:
./runner program1 program2
我正在使用最新的Ubuntu和Bash shell。
program1 & program2 &
如果您想记录输出结果:
program1 >output1.txt & program2 >output.txt &
如果你想在两个不同的终端窗口中运行命令:
xterm -e program1 & xterm -e program2 &
run.sh脚本
#!/bin/sh
./program1 &
./program2 &
运行命令:
$sh run.sh
./program1;./program2
或者
./program1 &;./program2 &
我不知道为什么有人认为它没有用,但它确实很有效。
当然,你可以编写一个脚本,但是脚本的内容是什么?依然是同样的事情。
而且你可以直接更改它,无需先打开脚本。
runner
的文件,该文件将成为shell脚本。#!/bin/bash
for arg in $@
do
$arg &
done
$@
在 bash 中是一个数组,包含传递给脚本的所有参数,这使得脚本不仅限于启动两个程序。请注意,使用此脚本启动的任何程序都需要在$PATH
中或作为./program1
传递给脚本。
./runner ./program1 program2
program1
不在$PATH
上,但是program2
在。