端末でbashスクリプトを使用してプロキシチェーンでemacsを起動し、端末を終了したいと思います。しかし、コードは
(proxychains emacs &)
exit 0
ターミナルから出ないでください。解決策は何ですか?
答え1
このテストスクリプトを試してください。
t.sh
#!/bin/bash
sleep 5
echo bye bye
sleep 5
pid=$( ps -f | grep "bash" | grep -v grep )
kill -HUP $pid
[OK]、新しいコマンドラインターミナルウィンドウを開きます。このウィンドウで、作成したばかりのbashスクリプトを実行します(上記のように名前を「t.sh」と仮定します)。
bash t.sh
シェルスクリプトが起動したbashプロセスを終了して自殺するため、10秒後にコマンドラインウィンドウが消えることがわかります。
もっと簡単な方法があるようですが、それが何であるか覚えていません。
とにかく、あなたの説明によれば、これがあなたが達成したいものだと思います。
編集する:
私は実際に上記の解決策が好きではありません。私が見ることであなたが本当にしたいのは、おそらくバックグラウンドでbashスクリプトを実行してログアウトできるように "nohup"を使用しているようです。
これにより、プロセスが完了して消えるまで実行を続けます。これは基本的にあなたが要求するものです。
次のことができます。
t1.sh
#!/bin/bash
echo "I am doing my thing then leaving" > /tmp/t1.log
sleep 10
exit 0
次に、コマンドラインで次の操作を行います。
nohup bash t1.sh &
その後、ログアウトしてください。
15秒後に戻ると、出力を含む「/tmp/t1.log」ファイルが必要です。