linux上运行system函数时,printf信息没有被打印
代码简单,如下: #include <unistd.h> int main() { printf("system kill"); sleep(10); system("killall test"); //system("ls -l"); return 0; } 注:test为这个程序的名字 问题如下: ①运行后,直接退出,没有打印出打印信息 ②如果将killall行注释,用system("ls -l");则打印信息会在执行完ls -l命令后打印 原理请指明 ③如果我想先打印出打印信息,应该怎么做?
#include <unistd.h> #include <stdio.h> int main() { printf("system kill\n"); fflush(0); sleep(10); system("killall test"); //system("ls -l"); return 0; }
printf("system kill");你改成 printf("system kill\n"); 数据还在缓冲里,你刷一下就出来了,(因为你直接杀死,还来不及把缓冲里的数据打印出来。)
|