cron은 vim 프로세스를 생성하지만 vim을 표시하지 않습니다.

cron은 vim 프로세스를 생성하지만 vim을 표시하지 않습니다.

MacOSX 10.8.2에서는 다음과 같이 bash 셸에서 vim을 실행할 수 있습니다.

/usr/bin/vim -c "normal G" -c 'startinsert' ~/.journal

정확히 동일한 명령을 스크립트에 넣으면 다음과 같습니다.

#! /bin/bash

export DISPLAY=:0
echo -n -e "\n[" `date` "]:\n\n">>~/.journal

/usr/bin/vim -c "normal G" -c 'startinsert' ~/.journal

스크립트를 실행하면 vim도 올바르게 열립니다.

그러나 crontab에 01diaryscript라는 스크립트를 넣으면 다음과 같습니다.

MAILTO=""
* * * * * ~/01diaryscript

vim을 열 수 없습니다. 하지만 고유한 ID를 사용하여 매분마다 새로운 vim 프로세스가 생성됩니다.

반면에 MacVim 패키지(7.3)에 포함된 vim을 사용하면 cron이 작동합니다.

cron에서 첫 번째 스크립트를 실행할 때 생성된 vim 프로세스에 액세스할 수 있도록 하는 방법이 있습니까?

답변1

crontab의 행에서는 스크립트가 매일 매분 시작되어야 한다고 구체적으로 요구합니다. 그 과정에서 볼 수 있듯이.

지금 vim을 볼 수 없는 이유는 cron이 "백그라운드에서" 설정한 명령을 생성했기 때문입니다. 따라서 직접 액세스할 수 없습니다. MacVim 패키지의 vim이 작동하는 이유를 모르기 때문에 설명할 수 없습니다.

작동하는 방법은 그래픽 VIM을 열거나 내부에 vim이 포함된 새로운 xterm을 여는 것입니다. 그것은 다음과 같습니다:xterm -e /usr/bin/vim -c "normal G" -c 'startinsert' ~/.journal

답변2

cron터미널(또는 X 디스플레이) 없이 백그라운드에서 명령을 실행합니다. 해당 출력은 어디로 가야합니까? 임의 사용자의 크론 작업 결과를 내 화면에 표시하시겠습니까? 무의미한.

여기서 해결하려는 문제는 무엇입니까?

관련 정보