ネット上の情報で解決できなかったので、同じ境遇の人のためにここに残しておきます。
$ cat /etc/redhat-release
CentOS Linux release 7.6.1810 (Core)
遭遇したエラー
crond start
やcrond status
すると、crond: can't lock /var/run/crond.pid, otherpid may be 1234: リソースが一時的に利用できません
と表示されてめちゃくちゃムカつく。
ネット上の情報
このエラーは珍しくもない様で、検索するとたくさん出てくる。しかし、検索して出てくる解決方法はほぼ全て以下の方法。
-
rm /var/run/crond.pid
で削除。 -
ps ax | grep crond
を実行して出てくるcrondのプロセスを全てkill
する。 -
crond start
で起動。
実際、これでほとんどの人は解決している様なので試してない人は是非試してみてほしい。けど、僕の場合はどんな順番でPIDを削除しcrondを起動しようがずっと
crond: can't lock /var/run/crond.pid, otherpid may be 1234: リソースが一時的に利用できません
crond: can't lock /var/run/crond.pid, otherpid may be 1234: リソースが一時的に利用できません
crond: can't lock /var/run/crond.pid, otherpid may be 1234: リソースが一時的に利用できません
と表示され続けた。3時間もそれは続いた。
解決方法
- とりあえずすでにあるプロセスとPIDファイルは消す。
-
systemctl start crond
する。
ポイントはcrond start
やcrond status
をしないこと。crond start
やcrond status
をするとリソースが一時的に利用できません
になるという単純な話だった。
これでも解決しなかったら
プロセスのリミットが原因の場合、/etc/security/limits.conf
に
root - nproc unlimited
を追加したら解決した、みたいな記事を見かけた。
僕はこの方法で解決しなかったがもしかしたらこれで解決するかも。