Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/linux/24.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+的多个进程+;程序 我有一个C++程序。我正在LInux上执行它。我想用不同的参数执行这个程序的多个实例。例如:_C++_Linux_Fork - Fatal编程技术网

执行c+的多个进程+;程序 我有一个C++程序。我正在LInux上执行它。我想用不同的参数执行这个程序的多个实例。例如:

执行c+的多个进程+;程序 我有一个C++程序。我正在LInux上执行它。我想用不同的参数执行这个程序的多个实例。例如:,c++,linux,fork,C++,Linux,Fork,./exeutableProgram file.txt ./exeutableProgram file2.txt ./exeutableProgram文件3.txt 换句话说,我想创建多个进程,使每个进程在不同的处理器上运行 我怎样才能完成这项任务? 我需要使用fork()编写一些程序吗?或者我需要写一些shell脚本? 请在这方面提供一些指导。您可以编写一个bash脚本来执行此操作: for var in "$@" <-- loops over all of the arguments

./exeutableProgram file.txt
./exeutableProgram file2.txt
./exeutableProgram文件3.txt


换句话说,我想创建多个进程,使每个进程在不同的处理器上运行

我怎样才能完成这项任务? 我需要使用fork()编写一些程序吗?或者我需要写一些shell脚本?
请在这方面提供一些指导。

您可以编写一个bash脚本来执行此操作:

for var in "$@" <-- loops over all of the arguments and sets them to var.
do
    /path/to/executableProgram $var & <-- executes the program with current var 
                                          as argument, & means background process.
done

您可以编写bash脚本来执行此操作:

for var in "$@" <-- loops over all of the arguments and sets them to var.
do
    /path/to/executableProgram $var & <-- executes the program with current var 
                                          as argument, & means background process.
done

如果在linux发行版上安装了
util linux
包,则可以使用该命令在特定CPU上启动进程。要在core 0和core 5上启动程序,请执行以下操作:

$ taskset 0x1 ./executableProgram file.txt
$ taskset 0x20 ./executableProgram file2.txt

如果在linux发行版上安装了
util linux
包,则可以使用该命令在特定CPU上启动进程。要在core 0和core 5上启动程序,请执行以下操作:

$ taskset 0x1 ./executableProgram file.txt
$ taskset 0x20 ./executableProgram file2.txt

@Mayerz yes shell脚本每个进程在不同的处理器上运行?不一定。您可能只有一个处理器,但内核可以为您进行时间切片。@Mayerz yes shell script每个进程运行在不同的处理器上?不一定。您可能只有一个处理器,但内核可以为您进行时间切片。使用脚本完成此任务与使用Linux fork()有什么区别吗?
fork()
意味着编写一个程序,该程序会多次打开相同的可执行文件,这和我在这里所做的一样,只是难度要大得多
fork()
更典型地用于客户端-服务器应用程序,其中服务器分叉处理每个客户端。我没有编写太多脚本。你能解释一下$var&在做什么吗。当我调用此脚本时,是否可以发出多个参数?@Zara我已编辑了答案以提供更多细节。谢谢。通过不同的参数,我指的是./Script file*.txt LogFile*.txt。换句话说,可执行文件需要两个文件作为参数。一个文件用于处理,另一个文件用于写入结果。使用脚本完成此任务与使用Linux fork()有什么区别吗?
fork()
意味着编写一个程序,该程序会多次打开相同的可执行文件,这和我在这里所做的一样,只是难度要大得多
fork()
更典型地用于客户端-服务器应用程序,其中服务器分叉处理每个客户端。我没有编写太多脚本。你能解释一下$var&在做什么吗。当我调用此脚本时,是否可以发出多个参数?@Zara我已编辑了答案以提供更多细节。谢谢。通过不同的参数,我指的是./Script file*.txt LogFile*.txt。换句话说,可执行文件需要两个文件作为参数。一个文件是它进行处理的文件,另一个文件是它写入结果的文件。