誰かがサーバーをセットアップし、FFMPEGがビデオをエンコードしようとしていて、それがWebサーバーを効果的に殺しました。設定はしていませんが、Sudoアクセスがあり、FFMPEGを強制終了して、Webサーバーが再び応答を開始するようにする必要があります。これどうやってするの?ありがとうございました!
これは、標準のLAMPスタックを備えたUbuntu 11.10サーバーです。
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
は引数を取りません。それはすべてを殺します。
あなたが求めていることとはまったく異なりますが、ffmpegジョブを完了することが重要である場合は、それを再設定して、Webサーバープロセスよりも低い優先度を与えるだけで十分な場合があります。
ps auxw |grep ffmpeg
のようなものを実行してffmpegプロセスのPIDを取得し、次にSudo renice -n 19 PID
を発行してプロセスの優先度を変更します。最初のコマンドからのプロセスPIDについてです。
この戦略は、ffmpegを完全に殺すよりも少しうまくいくかもしれません。これにより、Webプロセスのための余地が与えられますが、元のジョブを完了することができます。また、ある種のジョブキューが実行されている場合、元のジョブが正常に完了しなかったことが検出された後、ffmpegを再び起動するだけです。
ps -ef | grep ffmpeg
異なるffmpegプロセスのPIDをメモしてから、PIDごとに
kill -9 PID