我想在Linux下学习一点或两点关于进程通信,所以我写了2个简单的C程序,它们相互通信。从Linux下的C程序运行多个C程序
然而,这是一个有点恼人必须手动运行它们每一次,所以我想知道有没有办法让将运行他们两个程序,是这样的:
./runner program1 program2
我正在使用最新的Ubuntu和Bash shell。
我想在Linux下学习一点或两点关于进程通信,所以我写了2个简单的C程序,它们相互通信。从Linux下的C程序运行多个C程序
然而,这是一个有点恼人必须手动运行它们每一次,所以我想知道有没有办法让将运行他们两个程序,是这样的:
./runner program1 program2
我正在使用最新的Ubuntu和Bash shell。
run.sh脚本
#!/bin/sh
./program1 &
./program2 &
运行命令:
$sh run.sh
只要编写一个shell脚本来做你想做的事 - 你不需要使用C程序来运行C程序。
这条线将做(Bash中):
program1 & program2 &
如果你想记录输出:如果你想运行在两个单独的终端命令
program1 >output1.txt & program2 >output.txt &
:
xterm -e program1 & xterm -e program2 &
为什么不使用这样的:
./program1;./program2
或
./program1 &;./program2 &
我不知道为什么有人认为这是没有用的,但它确实有效。
当然你可以写一个脚本,但脚本的内容是什么?仍然是同样的事情。
您可以立即更改它,无需先打开脚本。
请确实按照您的要求做,首先创建一个名为runner
的文件,它将成为shell脚本。
#!/bin/bash
for arg in [email protected]
do
$arg &
done
在bash [email protected]
是传递给脚本的所有参数数组,这使得没有仅限于启动两个程序的脚本。 请注意,使用此脚本启动的任何程序都需要位于$PATH
或作为./program1
传递给脚本。
./runner ./program1 program2
在该示例program1
不在$PATH
但program2
是。