나는 종종 (소스 코드를 일부 변경한 후) 변경된 프로그램을 다시 시작하기 위해 " 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 팀에서는 일하지 않습니다.)