私はというスクリプトをいくつかのファイルにffmpeg
と呼んでいます。私は、出力をファイルにリダイレクトし、バックグラウンドでこのスクリプトを実行しようとすると、ジョブが起動しますが、その後すぐに中断します。バックグラウンドで `ffmpeg`を実行すると`中断(tty出力) `を防ぐにはどうすればいいですか?
% bin/mp3convert.sh path/a/b &> ~/tmp/log.txt &
[1] 93352
%
[1] + suspended (tty output) bin/mp3convert.sh path/a/b &>
私は、スクリプトを作ってみる場合は、バックグラウンドで継続し、それはすぐに再び中断します。
% jobs
[1] + suspended (tty output) bin/mp3convert.sh path/a/b &>
% bg %1
[1] + continued bin/mp3convert.sh path/a/b &>
% jobs
[1] + suspended (tty output) bin/mp3convert.sh path/a/b &>
%
スクリプトをフォアグラウンドにすることでスクリプトを続行できますが、スクリプトが終了するまで私の端末は占有されます。つまり、私はバックグラウンドでスクリプトを実行する利点は得られません。
%
[1] + suspended (tty output) bin/mp3convert.sh path/a/b &>
% fg %1
[1] + continued bin/mp3convert.sh path/a/b &>
% # much time passes with no activity on terminal, then script finishes
%
スクリプトをバックグラウンドで正常に実行させるにはどうすればよいですか?
私のスクリプトの簡易版は、次のとおりです。
#!/bin/sh
# mp3convert.sh
for f in "$1"/*.flac; do
ffmpeg -i "$f" -c:v copy path/to/dest/"$(basename -s .flac "$f")".mp3
done
私はMacPortsによって供給ffmpeg
version 3.4で、マックOS X 10.11.6上で実行しています。
明らかに関連する質問はwhy do I get “Suspended (tty output)” in one terminal but not in others?です。その答えは、端末の状態をstty -tostop
に設定することです。それは私を助けませんでした。私はすでにその状態を設定していました。
今、私は依頼ボタンを押したこと、[この質問をして、より適切に収まる可能性があることを私に起こりますスーパーユーザー](https://superuser.com/questions/tagged/ffmpeg)。 –