Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/cplusplus/149.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/linux/23.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C++ 如何使用shell脚本两次运行一个进程?_C++_Linux_Shell_Shared Memory - Fatal编程技术网

C++ 如何使用shell脚本两次运行一个进程?

C++ 如何使用shell脚本两次运行一个进程?,c++,linux,shell,shared-memory,C++,Linux,Shell,Shared Memory,如果我有一个可执行文件,用shell脚本运行它两次的正确方法是什么? 要执行两次的过程是使用共享内存进行消息传递和共享信号量 简单地使用 ./a ./a 将运行一个进程,而另一个进程在第一个进程停止之前无法运行,因此两个进程之间没有通信 以并行方式运行一个可执行文件两次的正确方法是什么?因为,在后台使用一个符号来运行一个进程,所以另一个进程可以同时运行: ./a & ./a 或 /a&/a 如图所示,使用一个符号在后台运行一个进程,以便另一个进程可以同时运行: ./a & .

如果我有一个可执行文件,用shell脚本运行它两次的正确方法是什么?
要执行两次的过程是使用共享内存进行消息传递和共享信号量
简单地使用

./a
./a
将运行一个进程,而另一个进程在第一个进程停止之前无法运行,因此两个进程之间没有通信
以并行方式运行一个可执行文件两次的正确方法是什么?

因为,在后台使用一个符号来运行一个进程,所以另一个进程可以同时运行:

./a &
./a

/a&/a
如图所示,使用一个符号在后台运行一个进程,以便另一个进程可以同时运行:

./a &
./a

/a&/a

如果正如您的评论所暗示的,第二个流程需要在后台进行,因为第一个流程是交互式的,那么您可以执行以下操作:

{ sleep 10; ./second; } &
./first

或者,您可以使用自己的终端启动每个进程:

xterm -e "./first" &
xterm -e "./second" &

如果正如您的评论所暗示的,第二个流程需要在后台进行,因为第一个流程是交互式的,那么您可以执行以下操作:

{ sleep 10; ./second; } &
./first

或者,您可以使用自己的终端启动每个进程:

xterm -e "./first" &
xterm -e "./second" &

首先,与其进行bash黑客攻击,不如重写应用程序,并在启动时将其设置为
fork()
。但一般来说,如果要将第一个进程置于前台,可以使用
fg
命令:

./a &
./a &
fg 1

首先,与其进行bash黑客攻击,不如重写应用程序,并在启动时将其设置为
fork()
。但一般来说,如果要将第一个进程置于前台,可以使用
fg
命令:

./a &
./a &
fg 1

使用
&
。/a nohup./a&将其放在后台,正确吗?使用
&
。/a nohup./a&将其放在后台,正确吗?/a./a&第二个进程不会进入后台,因为执行了第一个进程。有没有办法将第二个进程放在后台而不是第一个进程(如果第一个进程是交互式的,第二个进程只需要在后台运行)../a./a第二个进程不会在后台运行,因为第一个进程的执行是否有办法将第二个进程放在后台而不是第一个进程(如果第一个进程是交互式的,第二个进程只需要在后台运行)。。。