SSHセッションを終了して現在のコマンドラインを実行し続けるにはどうすればよいですか? [コピー]

SSHセッションを終了して現在のコマンドラインを実行し続けるにはどうすればよいですか? [コピー]

約10日ほどかかる実行命令があります。プロセスは、すべてのサブディレクトリからファイルを検索してビデオを変換するためです。見つかった各ビデオコマンドラインに対して、システムはプロセス番号を変更します。

これは私が実行している行です:

find . -exec ffmpeg -i {} -vf scale=1280:720 -vcodec libx264 -crf 30 -b:v 300000 {}_250.mp4 \;

SSHセッションを終了して現在のコマンドラインを実行し続けるにはどうすればよいですか?

もう2日目を迎えましたが、単に接続が切れてこのすべての時間を失うことになるかと心配です。

ベストアンサー1

そして

netstat --inet --inet6 -lnp | grep :22

プロセスのPIDを見つけることができますsshd。そして

# pstree -p -n 1527
sshd(1527)─┬─sshd(32296)───bash(32298)───screen(32336)
           └─sshd(32723)───bash(32725)───find(32763)───sleep(323)

子プロセスを見ることができます。

死ぬbash(32725)と死ぬ- これはバックグラウンドで実行し、組み込みシェルを使用して防ぐことができます。ただし、プロセスが終了すると、すべての子プロセスと制御端末が消え、カーネルがそのプロセスを終了します。find(32763)SIGHUPfinddisownsshd(32723)

一時停止しshd(32723)bash(32725)。これにより、SSH接続が失われたときに照会を終了できなくなります。

kill -stop 32723 32725

次回はよりスマートに行動してください。 Web経由でログインすると、利用しない、またはscreenログインしない理由はほとんどありません。tmux

おすすめ記事