[過去ログ]
シェルスクリプト総合 その27 (1002レス)
シェルスクリプト総合 その27 http://mevius.5ch.net/test/read.cgi/unix/1525337663/
上
下
前次
1-
新
通常表示
512バイト分割
レス栞
抽出解除
レス栞
このスレッドは過去ログ倉庫に格納されています。
次スレ検索
歴削→次スレ
栞削→次スレ
過去ログメニュー
615: 名無しさん@お腹いっぱい。 [sage] 2018/06/14(木) 22:32:42.05 パイプでなのでfindとhead が同時にプロセスとして存在 findが標準出力に出力するとパイプを通して/パイプとして繋がってるheadの標準入力に入力として headが目的を達して終了=パイプが無くなる、だがしかし、findは出力を続けようとし出力しようとしたらパイプが壊れてるうううっ 普通何もしなくても、パイプが損失したらSIGPIPEが飛んできて(強制)終了するんだけど(フィルタとしてもなUNIX的な望ましいデフォルト動作)、なぜかSIGPIPE無視して続けようという謎動作? findとheadが直接は繋がっていなくてかもしれんが。パイプの送出側がSIGPIPEを無視って謎動作なのは変わらないかな http://mevius.5ch.net/test/read.cgi/unix/1525337663/615
616: 名無しさん@お腹いっぱい。 [sage] 2018/06/14(木) 22:38:09.62 >>615 basenameが標準出力につながってるだけだから、findはwriteしないのでSIGPIPEを受け取らないよ。 basenameが事故死したのをfindが報告してるだけ。 というわけで、basenameが事故死したらfindを続けるのをやめるようにしてみた。 この方が無駄にbasenameを続けるよりよかろう。 find /var \( -exec basename {} \; -o -quit \) | head ただし、最初の事故死についてだけはfindがおせっかいに報告してしまう。 あとはまかせた。 http://mevius.5ch.net/test/read.cgi/unix/1525337663/616
メモ帳
(0/65535文字)
上
下
前次
1-
新
書
関
写
板
覧
索
設
栞
歴
スレ情報
赤レス抽出
画像レス抽出
歴の未読スレ
AAサムネイル
Google検索
Wikipedia
ぬこの手
ぬこTOP
0.038s