wgetを使ってシェルスクリプトでダウンロードツールを作ったんだけど
ナロー回線だから出来るだけ無駄を省きたくて
-cオプションで既存ダウンロード分に追記する形にしてる
でも当然ならがコマンドが2重に発行されたらぐちゃぐちゃになるから
psコマンドでwgetを2重発行しないようにしてるけどちょっと不安
実際一部の文字がpsコマンドで「?」表示されてgrepに掛からなかったことがあり
ファイルが壊れたことがあった
ぶっちゃけダウンロードしてるのはニコニコの動画であり
(動画なんで視聴しないと壊れてるのかわからず厄介)
ID_タイトル.mp4とかの形式で保存してるんだけど
問題はマルチバイト文字のタイトルだから
「grep "${id}.*${extention}"」として回避
実際はもうちょっとコマンドの詳細まで見てるけど

こんな場合のベストってダウンロード先のファイル名に
プロセスID(wgetを実行するシェルスクリプトのプロセスID)を含めるようにして
状況に応じてファイル名を変えながらwgetするくらいしかないのかな?
既存ダウンロード分のmvに成功したらwgetするとかで
ファイルをロックする相当の処理を実現するイメージなんだけど

ちなみにナローじゃない回線を使うことがあったり
ダウンロード中に止まることがあるため
複数の動画を同時並行でダウンロードするつくりにしているため
この問題はぜひとも回避したいです