0
C 프로그램이 SIGINT에 의해 중지 될 때 어떻게 파이프가 닫히도록 할 수 있습니까?ctrl + C에서 파이프를 닫는 방법?
C 프로그램이 SIGINT에 의해 중지 될 때 어떻게 파이프가 닫히도록 할 수 있습니까?ctrl + C에서 파이프를 닫는 방법?
당신은 그것에 대해 signal handling을 사용할 수
#include <signal.h>
void sigHandler(int sig) {
// Respond to the signal here.
}
int main(..) {
signal(SIGINT, &sigHandler);
..
}
OS가 프로세스가 종료 될 때 열려있는 파일 핸들을 모두 닫습니다. 당신의 문제는 정확히 무엇입니까? – Mat
@Mat :'gnuplot -persist'에 대한 내 파이프는 프로그램을 강제 종료 한 후에도 지속되는 것처럼 보입니다. – Andreas
'persist' 옵션은 바로 그 것을위한 것입니다 - 디스플레이 프로세스는 메인 gnuplot 프로세스가 죽은 후에도 남아 있습니다. 주 프로세스에 파이프를 닫으면 그래프가 표시되지 않고 파이프가 사라집니다. – Mat