"종료 후 다시 시작" 제어 코드?

"종료 후 다시 시작" 제어 코드?

나는 종종 (소스 코드를 일부 변경한 후) 변경된 프로그램을 다시 시작하기 위해 " Ctrl+ C; ing"을 사용합니다.

프로그램을 루프로 감싸고 매번 종료하지 않고 이 작업을 더 빠르게 수행할 수 있는 방법이 있습니까?

답변1

루프를 사용하지 않으려면 프로그램이 자동으로 계속해서 다시 시작되는 것을 기본적으로 방지하므로 옵션이 제한됩니다.

그러나 최소한 위젯을 사용하면 이 단계를 없앨 수 있습니다 accept-and-hold. 이는 현재 명령줄을 실행하지만( accept-line일반적으로 에 바인딩됨 Enter) 버퍼 스택에 푸시하여 다음 프롬프트에서 자동으로 가져옵니다(실제로 명령은 기호에서 실행된 후에도 프롬프트에 남아 있습니다). . 기본적으로 Alt+ 에 바인딩되어 있습니다 a.이맥스모드이지만 다른 바로가기로 쉽게 바인딩할 수 있습니다. 예를 들어 Ctrl+ 의 경우 F( F바로 위와 같습니다 C.

bindkey "^F" accept-and-hold

따라서 Ctrl+를 사용하여 프로그램을 시작한 F다음 Ctrl+ C, Ctrl+를 눌러 F중지하고 다시 시작하면 됩니다.

답변2

제어 코드를 사용하여 수동으로 다시 시작하는 대신 이러한 프로세스를 자동화하도록 특별히 설계된 시스템을 사용하는 것을 고려할 수도 있습니다. 즉, 코드 변경 후 프로세스를 (재)시작합니다.간수.

또한 inotifywait(inotify-tools에서)를 사용하여 소스 코드를 나타내는 파일이 변경될 때 알리고 변경될 때 신호를 보낼 수도 있습니다.

(이해상충 공개: 저는 Facebook에서 일하지만 Watchmen 팀에서는 일하지 않습니다.)

관련 정보