我正在用C开发我的应用程序,当应用程序启动时,它需要杀死从系统启动时运行的shell脚本。
下面是我的函数,它杀死了C++中的shell脚本:
void Kill_Script_sh(void)
{
FILE *fp;
char buffer[30];
char pid_number[5];
int pid;
int fd;
std::stringstream command;
command.str("");
fp = popen("ps aux | grep tick.sh", "r");
fgets(buffer, 30, fp);
pclose(fp);
pid_number[0] = buffer[11];
pid_number[1] = buffer[12];
pid_number[2] = buffer[13];
pid_number[3] = buffer[14];
pid_number[4] = buffer[15];
pid = atoi(pid_number);
printf("%d \n", pid);
command << "sudo kill " << pid;
system(command.str().c_str());
}在我杀死进程之后,我需要检查它是否仍然存在。这样做对吗?任何想法都是有帮助的。谢谢
发布于 2015-09-29 07:55:20
在杀死它之后(或者一般情况下),您可以使用kill -0 [pid]检查是否存在一个进程。
https://stackoverflow.com/questions/32838559
复制相似问题