특정 조건에서 자신을 전경으로 가져오는 RC 스크립트

특정 조건에서 자신을 전경으로 가져오는 RC 스크립트

사용자에게 입력([y/N])을 요청한 다음 이를 실행하는 간단한 스크립트가 있습니다. rc시작부터 실행할 수 있도록 데몬 래퍼를 작성했습니다 . 데몬/스크립트가 사용자 입력을 요청한 다음 다시 요청될 때까지 백그라운드에 두도록 할 수 있는지 궁금합니다. 어느 시점에서 사용자 입력이 전경으로 표시됩니까? 가능합니까? 이것이 실용적인가요? fg/bg 컨트롤은 어디에 호스팅되어야 합니까? rc.d스크립트 에서 또는 기본 스크립트에서?

답변1

시스템을 사용할 수 없게 만드는 절대적으로 중요한 서비스(예: OS 디스크를 해독하기 위해 비밀번호를 입력하는 경우)가 아니라면 서비스의 부팅 프로세스를 차단하지 마세요.

일부 서비스를 시작하기 위해 수동 개입이 필요한 경우(UPS 오류로 인해 예정되지 않은 재시작 후 서비스가 재개되지 않았기 때문에 오전 3시에 호출을 원하지 않는 한 가능하면 피해야 함) 부팅을 차단하지 않는지 확인하십시오. . 수행해야 할 작업을 백그라운드에 둡니다.

사용자가 서비스와 상호 작용할 수 있도록 하려면 내부에서 실행하세요.화면(tmux를 선호하는 경우 tmux를 사용하십시오.) 서비스가 입력을 읽고 출력을 쓸 의사 터미널을 만듭니다.

screen -d -m -S myservice /usr/local/sbin/myservice --interactive-start

Screen에서 생성한 터미널에 연결하려면 다음을 사용하세요.

screen -r -d -S myservice

콘솔, SSH 등을 통해 어디서나 이 작업을 수행할 수 있습니다. screen동일한 사용자로 명령을 두 번 실행 해야 합니다 . Screen 세션을 종료하고 백그라운드에서 실행되도록 하려면 Ctrl+ 를 누르세요 A D.

관련 정보