web-dev-qa-db-ja.com

FFMPEGを停止するにはどうすればよいですか?

誰かがサーバーをセットアップし、FFMPEGがビデオをエンコードしようとしていて、それがWebサーバーを効果的に殺しました。設定はしていませんが、Sudoアクセスがあり、FFMPEGを強制終了して、Webサーバーが再び応答を開始するようにする必要があります。これどうやってするの?ありがとうございました!

これは、標準のLAMPスタックを備えたUbuntu 11.10サーバーです。

7
gokujou

Linuxでは、Sudo killall ffmpegを使用して「ffmpeg」と呼ばれるすべてのプロセスを強制終了するか、ps -ef | grep ffmpegを使用してプロセスIDを取得し、次にSudo kill <PID>を使用して各プロセスを個別に強制終了できます。

それらが死なない場合、Sudo kill -9 <PID>はそれらを終了します。

Ffmpegを強制終了したくない場合は、Sudo kill -s SIGSTOP <PID>を使用して実行中のプロセスを一時停止し、Sudo kill -s SIGCONT <PID>を使用してそれらを再開できます。

注意:Solarisでは、killallは引数を取りません。それはすべてを殺します。

15
Ladadadada

あなたが求めていることとはまったく異なりますが、ffmpegジョブを完了することが重要である場合は、それを再設定して、Webサーバープロセスよりも低い優先度を与えるだけで十分な場合があります。

ps auxw |grep ffmpegのようなものを実行してffmpegプロセスのPIDを取得し、次にSudo renice -n 19 PIDを発行してプロセスの優先度を変更します。最初のコマンドからのプロセスPIDについてです。

この戦略は、ffmpegを完全に殺すよりも少しうまくいくかもしれません。これにより、Webプロセスのための余地が与えられますが、元のジョブを完了することができます。また、ある種のジョブキューが実行されている場合、元のジョブが正常に完了しなかったことが検出された後、ffmpegを再び起動するだけです。

6
cjc
ps -ef | grep ffmpeg

異なるffmpegプロセスのPIDをメモしてから、PIDごとに

kill -9 PID
1
m0ntassar