UNIX下的C语言编程.(怎样调用一个程序并得到这个程序的返回值?)
UNIX下的C语言编程.(怎样调用一个程序并得到这个程序的返回值?)
使用
system("test1");
system("echo $?");
也不能把程序的返回值返回到程序变量中.
那么这种情况应如何处理呢?
UNIX下的C语言编程.(怎样调用一个程序并得到这个程序的返回值?)
使用
system("test1");
system("echo $?");
也不能把程序的返回值返回到程序变量中.
那么这种情况应如何处理呢?
try: fork() + exec*() + wait()/waitpid()
那我怎么在服务上开权限可以创建进程.
这样做能取得程序myCommand的返回值吗?是不是只是得到system调用的返回值.也就是system的返回什.如果myCommand字符串里的程序返回的值是flase或是101,那么怎么得到这个值呢?
system调用的返回值是经过编码的,它的低8位保存了子进程的状态信息,高位保存的才是子进程的返回值,所以才需要右移8位返回, 可以用<sys/wait.h>定义的宏来编程
stat = system(myCommand);
WEXITSTATUS(stat)'
子进程返回的退出码
stat = system(myCommand);
你说的很对.我想往北飞.真是太感谢你了,my darling...我试过了.就是您说的那样.