데몬으로 시작되는 Java 응용 프로그램을 작성했습니다 (stderr 및 stdout을 리디렉션하고 bash를 통해 stdin을 닫습니다). 그러나 때로는이 응용 프로그램에 메시지를 보내고 동작의 특정 부분을 변경하도록 알릴 수 있기를 원합니다. 터미널에서 응용 프로그램에 메시지를 보낼 수 있어야하므로 그래픽 유틸리티가 필요한 것은 아무 것도 아닙니다.데몬 프로세스가 동작을 변경하도록 신호를 보내는 방법
행동의 변화는 매우 간단합니다. 내 응용 프로그램의 한 스레드 상태에 대한 토글과 응용 프로그램을 정상적으로 종료하는 방법이 필요합니다.
내 목표는 무엇인가? 내가 메시지에 대한 일종의 소켓에서 수신 대기하는 프로세스에서 스레드를 가질 수 있다는 것을 알고 있지만 이것은 내가 가진 필요에 과도한 것처럼 보입니다.
Linux/Unix의 신호에 너무 익숙하지 않아 일부 신호에 대해 사용자 지정 처리기를 설정하고 프로세스가 신호를 받으면 코드를 실행하도록 요청할 수 있는지 묻고 싶습니다.
내가 모르는 다른 옵션이 있습니까?
조심해 : JVM (적어도 오라클)은 내부 용으로 몇 가지 신호를 예약한다. –
두 가지 응용 프로그램으로 응용 프로그램을 분리하여 문제를 해결했습니다. 그러나 그 전에는 필자가 필요로하는 것을하기 위해 FIFO를 사용하는 데 많은 진전을 이루었습니다. –