"exit"のように動作するが、実行中のbashターミナルを閉じるスクリプトで "quit"コマンドを作成しています。どこからでもbash端末を終了できますが、スクリプトを終了することはできません。
exit
が、それは良いしません - それだけで、スクリプトの終了ではなく、bashのターミナルセッションとしてそれを取る:私は辞め行う方法を知って 唯一の方法です。
"exit"のように動作するが、実行中のbashターミナルを閉じるスクリプトで "quit"コマンドを作成しています。どこからでもbash端末を終了できますが、スクリプトを終了することはできません。
exit
が、それは良いしません - それだけで、スクリプトの終了ではなく、bashのターミナルセッションとしてそれを取る:私は辞め行う方法を知って 唯一の方法です。
top
コマンドを使用してプロセスIDを検索し、次にkill #ID
を使用して、bashプロセスを強制終了できます。これにより、bashセッションを終了し、スクリプトを実行し続けることができます。
さて、私はこれを試してみます。 –
あなたが入っているシェルからスクリプトを切り離そうとしているように聞こえます。スクリプト自体からシェルから切り離したい場合は、効果的にフォークできます。
#!bin/bash
forked_function() {
# This will now be in it's worn process. Check it using
# ps ax | grep forked_function
sleep 1000;
}
forked_function &
非常に一般的なアプローチは、screen
を使用することです。これにより、端末close
が表示され、中断した場所で実行中のプロセスに戻ることができます。あなたがしたいすべてのスクリプトを実行されている場合、あなたが実行しているクロムを残すすなわち
script &
exit
を実行していますが、それはそれは閉じません、それ切り離すことができるようにしようとしているスクリプトに追加アンパサンドを使用してみてください終了端末を閉じたときに表示されます。また、バックグラウンドでタスクを管理することもできます。あなたがバックなどフォアグラウンドにジョブ番号1を持ってfg 1
のようなコマンドを使用することができますman jobs
script &
jobs
を見て
あなたはシェルproccessたように、そのコマンドを実行して試すことができます:
execp("exit",NULL,NULL);
さて、私はこれを試してみます。 –
「ctrl-d」の入力は難しいですか? –
何ですか?私は混乱しています、あなたはあなたがどんなディレクトリにいてもシェルを終了できます。バックグラウンドでプロセスを持っていても、セッションを終了するコマンドを作成しようとしていますか?もしそうなら、人はノハップです。また、これはvimと何が関係していますか? – SaintHax
私はbash(vimのMODEで)でスクリプトを作っていますので、exitの代わりにquitを打つのを間違えると、ほとんど同じことが起こります。 –