실행 가능한 *.sh 스크립트를 호출하는 것은 무엇입니까?

실행 가능한 *.sh 스크립트를 호출하는 것은 무엇입니까?

오래 전에 나는 다운로드에 무언가가 다운로드될 때 자동으로 결과를 알려주는 스크립트를 복사/수정했습니다. inotify나는 다음 온라인 리소스를 따랐습니다.clamscanhttps://fitzcarraldoblog.wordpress.com/2017/03/05/using-the-clamav-daemon-to-scan-files-placed-in-my-downloads-directory-in-gentoo-linux/.

내 질문:이라는 스크립트가 실행되고 있는지 어떻게 알 수 있나요 clamscanInotify.sh?

튜토리얼에서 그것을 사용하라고 제안했지만 crontab, 나는 그것을 했고, crontab -e내 파일에서 그것을 편집했지만, 스크립트는 여전히 어떻게든 실행되고 있습니다.

나는 확인했다;

  1. 내 사용자의 crontab,

  2. 내 루트 크론탭,

  3. 모든 cron.daily/weekly/etc,

  4. /etc/cron.d/

그리고 스크립트의 내용을 실행할 수 없습니다. 나는 journal;

journalctl -b | grep cron

또는 무언가를 다운로드하는 데 걸리는 대략적인 시간을 알고 있는 경우,

journalctl -b | grep -e "10:00" 

또한 grep을 사용하여 문자열 실행 파일 이름을 검색했습니다 clamscanInotify.sh.

sudo grep -rnw / -e "clamscanInotify.sh",

그러나 문자열은 어디에서도 찾을 수 없으며 /etc/.

나는 데몬이 없고 at/atd이 실행 가능한 스크립트를 호출하는 것을 찾기 위해 무엇을 해야 할지 알 수 없습니다 clamscanInotify.sh.

"Startup Applications"또한 데스크탑 GUI를 사용하는 Linux Mint의 옵션에도 포함 되어 있지 않습니다 .

단순히 *.sh 파일만 삭제하고 싶지는 않은데, 화면과 터미널이 zenity창과 메시지로 가득 차서 짜증스럽습니다.

어디를 봐야할지 아이디어가 있나요?

폴리스티렌

이거 내 사진이야 (h)top;

여기에 이미지 설명을 입력하세요.

답변1

느린 방법은 사용하는 것입니다추신: "ps -o comm= -p $PPID"의 기능은 무엇입니까?흥미로운 것을 찾을 때까지 상위 프로세스를 캡처하십시오.

스크립트에서 bash를 사용하고 있으므로 다음을 추가하십시오.

ps -o pid=,comm= -p $PPID

임시 파일로 리디렉션합니다. 예를 들어 파일에 다음이 포함된 경우 파일 내용을 검사한 다음 상위 트리를 검사합니다.

8815 bash

그런 다음 후속 조치를 취하십시오.

ps -o ppid=,comm= -p 8815

여기서는 프로세스 8815의 상위 프로세스 pid와 명령을 요청합니다.

Linux 시스템의 경우 pstree -s -p $$현재 프로세스의 상위 체인을 쿼리하기 위해 삽입합니다( $$).

어느 시점에서는 데스크탑 관리자나 로그인에 사용한 방법을 사용하게 될 것입니다.

귀하의 bash init 스크립트 중 하나가 이 기능을 설정하는 것이 가능합니다.예를 들어 이 답변은다음과 같이 실행하세요.

bash -ix </dev/null 2>trace

그런 다음 trace관련 inotify 스크립트에 대한 파일을 검색하십시오. 연결된 답변에서도 알 수 있듯이 가장 좋은 초기 추측은 다음과 같습니다.

  • ~/.bash_profile
  • ~/.profile
  • ~/.bash_login
  • /etc/profile
  • ~/.bashrc

...이 경우 다음을 시도해 볼 수 있습니다.

grep clamscanInotify.sh ~/.bash_profile ~/.profile ~/.bash_login /etc/profile ~/.bashrc

관련 정보