gpt4 book ai didi

c - 终止系统调用后删除终端消息

转载 作者:行者123 更新时间:2023-11-30 14:52:54 26 4
gpt4 key购买 nike

我正在使用以下方法杀死 parent 的 child :

kill(pid, SIGTERM);

输出到终端

Terminated

终端中如何不显示“已终止”?

pid_t pid ;
pid = fork();
if(pid == 0){ // pid is process index id in parent process
wait(NULL); // wait for state changes in child
if(execlp(argv[1],argv[1],NULL) == -1){ // argv1 can be either valid or invalid (for example ls or alsjdf)
char str[128];
sprintf(str, "./multifork: %s",argv[1]);
perror(str);
kill(pid, SIGINT);
}
}

如果argv[1]不是合法的系统调用,我想退出所有程序。之后创建父级和子级。

最佳答案

你能尝试这个而不是终止指令吗:

sprintf(str, "kill -SIGINT %d >> /dev/null 2>&1",pid); 
system(str);

system用于在shell中执行命令。">>/dev/null 2>&1"将打印重定向到/dev/null,换句话说,丢弃答案的打印(“终止”)。

关于c - 终止系统调用后删除终端消息,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47494267/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com