なぜ「即時終了」(他の引数なし)はinitスクリプトを実行しないのですか?

なぜ「即時終了」(他の引数なし)はinitスクリプトを実行しないのですか?

私はPiでRasbpianを実行しており、ユーザーに電源を切ることができることを知らせるためにGPIO出力を実行するスクリプト/etc/rc0.d(より正確にはシンボリックリンク)があります。/etc/init.d/myscript.sh

を実行するとsudo shutdown -h nowスクリプトが実行され、システムがクラッシュします。
を実行するとsudo shutdown nowスクリプトが実行されます。いいえ実行されますが、システムがクラッシュします。

shutdown now追加の引数なしで実行すると、実際に何が起こるかについてのドキュメントが見つかりません。

-hこの場合の違いは何ですか?実行中にshutdown now実際にrunlevelを呼び出さないのですか0

アップデート:見つけました。この記事(unixhelp.ed.ac.uk)これは、パラメータのないデフォルトの動作が実行レベルに入ることを示します1。しかし、スクリプトもあります/etc/rc1.dが、動作しませんshutdown

リクエストに応じて、最初の数行は次のようになりますlast -x(矢印は私が書いたものです)。

pi       pts/3        vidar-ramdals-ma Fri Jan  9 18:07   still logged in   
runlevel (to lvl 2)   3.12.28+         Fri Jan  9 18:04 - 18:07  (00:02)    
reboot   system boot  3.12.28+         Fri Jan  9 18:04 - 18:07  (00:02)    
shutdown system down  3.12.28+         Fri Jan  9 18:04 - 18:04  (00:00)    
runlevel (to lvl 0)   3.12.28+         Fri Jan  9 18:04 - 18:04  (00:00) <- shutdown -h now   
pi       pts/3        vidar-ramdals-ma Fri Jan  9 18:02 - down   (00:01)    
runlevel (to lvl 2)   3.12.28+         Fri Jan  9 18:01 - 18:04  (00:02)    
reboot   system boot  3.12.28+         Fri Jan  9 18:01 - 18:04  (00:02)    
pi       pts/3        vidar-ramdals-ma Fri Jan  9 17:57 - crash  (00:04) <- shutdown now   
pi       pts/3        vidar-ramdals-ma Fri Jan  9 01:30 - 01:34  (00:03)    
pi       pts/3        vidar-ramdals-ma Fri Jan  9 01:29 - 01:29  (00:00)    
runlevel (to lvl 2)   3.12.28+         Fri Jan  9 01:23 - 18:01  (16:38)    
reboot   system boot  3.12.28+         Fri Jan  9 01:23 - 18:04  (16:41)   

このrunlevel (to lvl 0)行はあなたの次の行に表示されますかshutdown -h nowcrashこれshutdown nowによりshutdown now「衝突」が発生し、初期化スクリプトが実行されなくなりますか?

ベストアンサー1

フォルダ内のファイル名はrc.d重要であり、.txtファイルへのシンボリックリンク名を指定したものは不明です/etc/init.d/myscript.sh

次の例/etc/rc1.d:

  lrwxrwxrwx 1 root root 25 Nov  3  2011 K99readahead_early -> ../init.d/readahead_early
  lrwxrwxrwx 1 root root 25 Nov  3  2011 K99readahead_later -> ../init.d/readahead_later
  lrwxrwxrwx 1 root root 22 Nov  3  2011 S02lvm2-monitor -> ../init.d/lvm2-monitor
  lrwxrwxrwx 1 root root 18 Nov  3  2011 S13cpuspeed -> ../init.d/cpuspeed

startSが提供されたら、次のようにスクリプトを実行します。 Kが提供されたらstop。この整数値は、実行する必要がある優先順位です。

おすすめ記事