실행 중인 find 명령의 근본 원인을 찾아보세요.

실행 중인 find 명령의 근본 원인을 찾아보세요.

오늘 아침에 들어왔는데 하드 드라이브 표시등이 켜져 있었습니다. 이것은 특이한 일이어서 실행하여 파일 시스템을 검색하는 명령을 iotop보았습니다 .find

나는 ps auxZSELinux 레이블을 사용하여 프로세스 덤프를 실행하기로 결정했습니다. find명령이 보안 컨텍스트에서 실행된 것으로 나타났습니다 locate_t.

이를 토대로 locate데이터베이스가 업데이트되었다는 결론을 내렸습니다.

프로세스의 보안 레이블을 보지 않고 동일한 결론에 빠르게 도달하는 방법이 궁금합니다.

답변1

두 가지 아이디어가 떠올랐습니다.

  1. 상위 프로세스는 find이를 호출한 프로세스를 나타냅니다. 해당 프로세스 트리를 따르면 다음 locate과 같이 bash 쉘에서 호출할 수 있습니다.

    (sample "ps" output to capture the "find" command)
    UID        PID  PPID  C STIME TTY          TIME CMD
    user     26847 20786  0 09:01 pts/0    00:00:00 find ..
    
    $ ps -fp 20786
    UID        PID  PPID  C STIME TTY          TIME CMD
    user     20786 20785  0 07:35 pts/0    00:00:00 -bash
    

    또는카스제안에 따라 pstree -a -p | less현재 프로세스의 그래픽 표현을 실행하고 find해당 명령을 왼쪽 및 위쪽으로 추적하십시오.

  2. 명령의 시작 시간을 식별하면 find예약된 cron 작업을 알 수 있습니다. 시스템 crontab 파일(/etc/anacrontab, /etc/cron.daily, /etc/cron.weekly, /etc/cron.monthly, /var/spool/ cron/root 등).

관련 정보