当前位置: 技术问答>linux和unix
调用其它进程的问题,附代码
来源: 互联网 发布时间:2015-09-01
本文导语: 用system时,可以根据返回值是否为0判断调用成功与否。 用fork和execvp呢? 下面的程序如何修改才可以判断是否成功调用了其它进程?谢谢。 int spawn (char* program, char** arg_list) { pid_t child_pid; /* Duplicate ...
用system时,可以根据返回值是否为0判断调用成功与否。
用fork和execvp呢?
下面的程序如何修改才可以判断是否成功调用了其它进程?谢谢。
int spawn (char* program, char** arg_list)
{
pid_t child_pid;
/* Duplicate this process. */
child_pid = fork ();
if (child_pid != 0)
/* This is the parent process. */
return child_pid;
else {
/* Now execute PROGRAM, searching for it in the path. */
execvp (program, arg_list);
/* The execvp function returns only if an error occurs. */
fprintf (stderr, "an error occurred in execvpn");
abort ();
}
}
用fork和execvp呢?
下面的程序如何修改才可以判断是否成功调用了其它进程?谢谢。
int spawn (char* program, char** arg_list)
{
pid_t child_pid;
/* Duplicate this process. */
child_pid = fork ();
if (child_pid != 0)
/* This is the parent process. */
return child_pid;
else {
/* Now execute PROGRAM, searching for it in the path. */
execvp (program, arg_list);
/* The execvp function returns only if an error occurs. */
fprintf (stderr, "an error occurred in execvpn");
abort ();
}
}
|
fork:
if((pid=fork())
if((pid=fork())