使用execlp函数测试了下,看书不仔细,结果g++总是提示
“函数调用中缺少哨兵 [-Wformat]”
网上一查,才发现,调用exec函数族的时候,需要在最后一个参数填上 (char*)0,用以表示参数结束了
cout << "son" << endl;
int nRet = execlp("ls","-alhrt", (char*)0); 最后一个参数必须是(char*)0,并且一旦执行成功了,则后面的两行代码时不会被执行的。因为exec函数使用了ls替换掉了当前的进程。
cout << "ls -alhrt return " << nRet << endl;
cout << "son is over" << endl;