「service incrond status」を実行すると、「incrond は機能しませんが、サブシステムはロックされています」というメッセージが表示されます。これが何を意味するのか教えていただけますか?通常の状況では、その状態が実行されている必要があります。死ぬ原因は何か教えてください。
答え1
これは、サービスがincrond
中断されたか強制終了されたことを意味します。
サービスが開始されると、ロックファイル(通常、/var/lock/subsys
このロックファイルはサービスが停止した場合にのみ削除されます。サービス/プログラムがクラッシュした場合、ロックファイルを削除する「機会」はありません。この場合、サービスが実行されていなくてもロックファイルは存在します。サービスの状態を確認するときは、プロセスが実行されていることを確認することに加えて、/var/lock/subsysにロックファイルがあることを確認してください。
kill -9
サービスに提供すると、これが起こりますauditd
(1050はauditdのpidです)。
[root@merapp01 run]# kill -9 1050
[root@merapp01 run]# ll /var/run/1050
ls: cannot access /var/run/1050: No such file or directory
[root@merapp01 run]# ll /var/lock/subsys/auditd
-rw-r--r-- 1 root root 0 Dec 30 04:25 /var/lock/subsys/auditd
[root@merapp01 run]# /etc/init.d/auditd status
auditd dead but pid file exists
[root@merapp01 run]#
これでサービスが正常に停止すると、次のことが行われます。
[root@merapp01 run]# /etc/init.d/auditd stop
Stopping auditd: [ OK ]
[root@merapp01 run]# ll /var/lock/subsys/auditd
ls: cannot access /var/lock/subsys/auditd: No such file or directory
[root@merapp01 run]# /etc/init.d/auditd status
auditd is stopped
[root@merapp01 run]#