当前位置: 技术问答>linux和unix
linux c编程,kill函数。
来源: 互联网 发布时间:2016-05-12
本文导语: 相关代码如下: #include #include #include #include int main() { pid_t pid; pid=fork(); if(pid==0) { kill(getppid(),SIGKILL); sleep(3); printf("%dn",getppid()); } return 0; } ...
相关代码如下:
执行结果是
先输出一行乱码
然后输出 1
为什么会先输出一行乱码?
#include
#include
#include
#include
int main()
{
pid_t pid;
pid=fork();
if(pid==0)
{
kill(getppid(),SIGKILL);
sleep(3);
printf("%dn",getppid());
}
return 0;
}
执行结果是
先输出一行乱码
然后输出 1
为什么会先输出一行乱码?
|
乱码可能是 lz 的编码设置不对吧,输出应该是 Killed 之类的
|
输出乱码应该是字符集的关系,
你kill你程序的父进程,父进程退出时系统一般会输出相应信息,这写信息有可能是中文,如果你的终端字符集设置的和输出的不一致,就可能是乱码.
你kill你程序的父进程,父进程退出时系统一般会输出相应信息,这写信息有可能是中文,如果你的终端字符集设置的和输出的不一致,就可能是乱码.
|
肯定跟字符编码有关系的。
在我的debian上输出是
rob@debian:~$ ./a.out
已杀死
rob@debian:~$ 1
在我的debian上输出是
rob@debian:~$ ./a.out
已杀死
rob@debian:~$ 1