매우 짧은 간격으로 주기적으로 명령을 실행하고 결과를 얻으려면 어떻게 해야 합니까?

매우 짧은 간격으로 주기적으로 명령을 실행하고 결과를 얻으려면 어떻게 해야 합니까?

약 5초 간격으로 특정 명령을 호출해야 합니다. 백그라운드에서 실행되도록 데몬/프로세스를 설정하려면 어떻게 해야 합니까? cronjob을 살펴봤는데 최소 간격은 1분인 것 같습니다. 어떤 제안이라도 감사하겠습니다;)

페도라는 시스템이다.

편집 명령은 bash 스크립트가 될 것이므로 "watch"가 그렇게 할 것이라고 생각하지 않습니다.

답변1

왜 "시계"가 작동하지 않는다고 생각합니까?

$ cat periodic.sh
#!/bin/bash
echo $(date)
$ chmod +x periodic.sh

$ watch -n 5 ./periodic.sh

답변2

(
  while true
  do
    your-command-here
    sleep 5
  done
) &
disown

답변3

어쩌면 nohup을 사용할까요? 셸이 닫힌 후에 작업을 실행할 수 있도록 설계되었습니다.

화면을 사용할 수도 있습니다.

답변4

watch명령은 귀하의 경우에 작동합니다. 저는 터미널 멀티플렉서(예: tmux, screen 등)를 사용한 다음 다음을 사용하여 명령을 실행합니다.

watch -n 5 ./script.sh

이 경우 컴퓨터에 대한 터미널 또는 SSH 연결을 닫아도 스크립트는 계속 실행됩니다.

이 방법의 유일한 제한 사항은 스크립트가 해당 간격 내에 실행을 완료하는 경우에만 스크립트가 5초마다 실행된다는 것입니다.

관련 정보