Linux의 프로세스 관리 파일이 에 저장되는 이유는 무엇입니까 /var/run
?
예를 들어:
$ ls -ltr /var/run/ | grep pid
-rw-r--r-- 1 root root 4 Mar 26 14:12 lvmetad.pid
-rw-r--r-- 1 root root 5 Mar 26 14:12 auditd.pid
-rw------- 1 root root 11 Mar 26 14:12 alsactl.pid
-rw------- 1 root root 5 Mar 26 14:12 gssproxy.pid
-rw-r--r-- 1 root root 5 Mar 26 14:12 ksmtune.pid
-rw-r--r-- 1 root root 5 Mar 26 14:12 vmtoolsd.pid
-rw------- 1 root root 5 Mar 26 14:13 sm-notify.pid
-rw-r--r-- 1 root root 5 Mar 26 14:13 sshd.pid
-rw-r--r-- 1 root root 5 Mar 26 14:13 rhnsd.pid
-rw-r--r-- 1 root root 5 Mar 26 14:13 atd.pid
-rw-r--r-- 1 root root 6 Mar 29 09:42 crond.pid
-rw------- 1 root root 6 Mar 30 18:38 syslogd.pid
-rw-r--r-- 1 root root 7 Mar 30 19:39 chronyd.pid
-rw------- 1 root root 6 Mar 30 21:52 sssd.pid
-rw------- 1 root root 5 Mar 30 21:52 oddjobd.pid
우리 모두 알고 있듯이 /var/run
tmpfs는 파일 시스템입니다.
답변1
왜냐하면/var/run
소프트웨어에 대한 FHS 표준 축복 디렉토리입니다.달리다데이터.
이 /var/run
디렉토리는 "더 이상 사용되지 않으며" 이제 심볼릭 링크입니다./run
많은 시스템에서.
이 디렉토리에는 시스템이 시작된 이후 시스템을 설명하는 시스템 정보 데이터가 포함되어 있습니다. 시작 프로세스가 시작될 때 이 디렉터리의 파일을 지워야 합니다(필요에 따라 제거하거나 잘라냄).
그곳의 데이터는 지워야 하고 일반적으로 크기가 작으므로(PID 파일은 작고 일반적으로 저장되는 다른 런타임 데이터는 UNIX 소켓임) .restarting에 넣으면 tmpfs
지워집니다.
답변2
파일 시스템 계층 표준다음을 지정 하는 데 사용됩니다 /run
.
원래 /etc에 있던 프로세스 식별자(PID) 파일은 이제 /run에 있어야 합니다. PID 파일의 명명 규칙은 .pid입니다. 예를 들어, crond PID 파일 이름은 /run/crond.pid입니다.