Linuxとbusyboxでシェルスクリプトを正しく起動および停止する方法は?

Linuxとbusyboxでシェルスクリプトを正しく起動および停止する方法は?

ビジボックス付きのセットトップボックスからテレビにいくつかのコマンドを送信する小さなシェルスクリプトを作成しようとしています。問題は、これが多くのゾンビプロセスを生成し、ゾンビプロセスをすべて終了しようとしたときに終了してはならないいくつかのオーディオプロセスも終了することです。

これは私のスクリプトです。

テレビランチャー

 #!/bin/sh
 echo "ka 1 01" > /dev/ttyUSB0
 read -t 5 response < /dev/ttyUSB0
 echo "xb 1 70" > /dev/ttyUSB0
 read -t 2 response < /dev/ttyUSB0
 echo "kf 1 32" > /dev/ttyUSB0
 read -t 2 response < /dev/ttyUSB0
 echo "km 1 01" > /dev/ttyUSB0
 #killall sh

テレビ局

 #!/bin/sh
 echo "ka 1 00" > /dev/ttyUSB0
 #killall sh

私はこれを次のように呼びます(スクリプトの一部):

case "$1" in
  led-on)
    echo 3 > /sys/class/leds/mag-front-led/mode
    nohup sh /home/default/tvstop.sh &
  ;;
  led-off)
    echo 2 > /sys/class/leds/mag-front-led/mode
    nohup sh /home/default/tvstart.sh &
  ;;

では、どうすれば正しく終了しますか?ゾンビの姿はこんな感じです。

 3637 root            Z   [sh]
 3660 root            Z   [sh]
 3696 root            Z   [sh]
 3719 root            Z   [sh]
 3751 root            Z   [sh]
 3766 root            Z   [sh]
 3798 root            Z   [sh]
 3829 root            Z   [sh]
 3913 root            Z   [sh]
 3984 root            Z   [sh]
 4489 root       6960 S   sshd: root@pts/0
 4533 root       2704 S   -sh
10478 root            Z   [sh]
10516 root            Z   [sh]
10574 root            Z   [sh]
10597 root            Z   [sh]
10630 root            Z   [sh]
10737 root            Z   [sh]
11072 root            Z   [sh]
11103 root            Z   [sh]
11413 root            Z   [sh]
11436 root            Z   [sh]
11457 root            DW  [STVID.InjecterT]
11458 root            SW  [STVID[0].MPEG2P]
11459 root            DW  [tfm_89287480]
11460 root            SW  [STVID[0].Produc]
11461 root            SW  [STVID[0].Displa]
11462 root            SW  [STVID[0].ErrorR]
11477 root            Z   [sh]
11500 root            Z   [sh]
11525 root            Z   [sh]
11548 root            Z   [sh]
11581 root            Z   [sh]
11605 root            Z   [sh]
11638 root            Z   [sh]
11661 root            Z   [sh]
11688 root            Z   [sh]
19185 root       2704 R   ps

ベストアンサー1

おすすめ記事