【发布时间】:2018-08-29 19:27:25
【问题描述】:
我以前从未用 C 编程过,但我需要一个 C 程序来杀死一个给定其 PID 的进程。我知道这个问题被问了很多,但是我遇到了一个我不明白的编译错误。以下是使用我在 Internet 上可以找到的东西构建的代码:
#include<stdio.h>
#include<signal.h>
int main (int argc, char *argv[]){
if (argc != 2 ) return 1;
int pid = atoi (argv[1]);
kill (pid, SIGINT);
return 0;
}
还有日志:
-------------- Build: Debug in processKiller (compiler: GNU GCC Compiler)---------------
mingw32-gcc.exe -Wall -g -c "D:\.Ce PC\Desktop\ws processKiller\processKiller\main.c" -o obj\Debug\main.o
D:\.Ce PC\Desktop\ws processKiller\processKiller\main.c: In function 'main':
D:\.Ce PC\Desktop\ws processKiller\processKiller\main.c:8:5: warning: implicit declaration of function 'atoi' [-Wimplicit-function-declaration]
int pid = atoi (argv[1]);
^
D:\.Ce PC\Desktop\ws processKiller\processKiller\main.c:9:5: warning: implicit declaration of function 'kill' [-Wimplicit-function-declaration]
kill (pid, SIGINT);
^
mingw32-g++.exe -o bin\Debug\processKiller.exe obj\Debug\main.o
obj\Debug\main.o: In function `main':
D:/.Ce PC/Desktop/ws processKiller/processKiller/main.c:9: undefined reference to `kill'
collect2.exe: error: ld returned 1 exit status
Process terminated with status 1 (0 minute(s), 0 second(s))
2 error(s), 2 warning(s) (0 minute(s), 0 second(s))
谢谢。
【问题讨论】:
-
对于
atoi你需要 stdlib.h