我需要运行一个命令,但是在退出之前不会锁定我的应用程序,就像执行system()
函数一样。
答案 0 :(得分:7)
使用fork()
创建新流程,exec*()
将其替换为新应用。
答案 1 :(得分:2)
pid_t pid;
if ((pid = fork()) < 0)
...fork failed...
else if (pid == 0)
{
...create command line in array of char pointers argv...
...sort out I/O -- redirect stdin from /dev/null?...
execvp(argv[0], argv);
...report exec failed on stderr...
_exit(126);
}
...parent process...gets on with life...