0
バイナリを実行する必要があるbashスクリプトを作成しようとしていますが、Ctrl + cキーを押しながらスクリプトを実行すると、バックグラウンドで実行されているバイナリも停止する必要があります。このコードを試していますが、それは役に立ちません。ユーザがbashのctrl + cを押すまで、どのようにプログラムを実行できますか?
#!/bin/bash
cd /usr/local/path-to-binary
./testBinary
read input
if (("$input" == "Ctrl+c")); then
ps -aef|grep Binary
pkill -9 Binary
http://shellcheck.net/でコードを実行し、見つけたものすべてを修正する習慣をつけることをお勧めします。 –
これは、ここのコードの場合、 'read input'は' testBinary'が自己デーモン化し、それによって検出を回避しようとしない限り実行されません。 –
... '(())'は算術構成です。文字列の比較には意味がありません。途中で中断された後に 'read'が文字列' Ctrl + c 'を返すわけではありません。 –