当前位置: 技术问答>linux和unix
linux上运行system函数时,printf信息未被打印,请高手讲解原因
来源: 互联网 发布时间:2017-04-13
本文导语: 代码简单,如下: #include int main() { printf("system kill"); sleep(10); system("killall test"); //system("ls -l"); return 0; } 注:test为这个程序的名字 问题如下: ①运行后,直接退出,没有打印出打印...
代码简单,如下:
#include
int main()
{
printf("system kill");
sleep(10);
system("killall test");
//system("ls -l");
return 0;
}
注:test为这个程序的名字
问题如下:
①运行后,直接退出,没有打印出打印信息
②如果将killall行注释,用system("ls -l");则打印信息会在执行完ls -l命令后打印
原理请指明
③如果我想先打印出打印信息,应该怎么做?
#include
int main()
{
printf("system kill");
sleep(10);
system("killall test");
//system("ls -l");
return 0;
}
注:test为这个程序的名字
问题如下:
①运行后,直接退出,没有打印出打印信息
②如果将killall行注释,用system("ls -l");则打印信息会在执行完ls -l命令后打印
原理请指明
③如果我想先打印出打印信息,应该怎么做?
|
#include
#include
int main()
{
printf("system killn");
fflush(0);
sleep(10);
system("killall test");
//system("ls -l");
return 0;
}
|
printf("system kill");你改成
printf("system killn");
数据还在缓冲里,你刷一下就出来了,(因为你直接杀死,还来不及把缓冲里的数据打印出来。)
printf("system killn");
数据还在缓冲里,你刷一下就出来了,(因为你直接杀死,还来不及把缓冲里的数据打印出来。)