[FreeBSD-users-jp 95821] Re: nc(1)を使ってデータを送信しても完了にならない

IIJIMA Hiromitsu delmonta @ dennougedougakkai-ndd.org
2016年 5月 26日 (木) 17:49:55 UTC


いいじまです。

>> > $! ではダメでしょうか?
>> 
>> ありがとうございます。これでいけました。
>> まだまだ知らないことが多いなあ…。
> 
> 管理用にスクリプトで行う場合には,CentOS上ではありますが
> ps auxw | awk ' /nc -l 8086/ {printf("kill %d \n", $2 )}' | sh
> を使っています.飯嶋さんの目的とは少し相違点があるかもしれませんが
> ご参考まで.

なるほど、rootで一つだけ走っているプロセスの場合はこれが有効ですね。
今回の私の場合は、一般ユーザ権限のスクリプトで臨時に立ち上げたプロ
セスを止めることなので、そのスクリプトをrootで走らせた際に別ユーザの
プロセスを停めてもいけないし、同じユーザでも別のコンソールで走って
いる同名のプロセスを停めたくもありません。

なので、立ち上げたプロセスが生きていることが保証されていれば、
$! を使うことになるのでしょうね。

ただ、さらにややこしいことに、今回のケースだと、nc -l がすでに
死んでいてそのPIDが別プロセスに使い回されている可能性もなきにしも
あらずなので、nc -z で接続して停めるという方法を選んだようです。
ポート番号にしても8086固定ではなくて、スクリプトには
PORT=$(($RANDOM + 16384))
と書かれています。

ではでは。

========================================================================
(Mr.) IIJIMA Hiromitsu aka Delmonta <delmonta @ dennougedougakkai-ndd.org>
飯嶋 浩光 / でるもんた・いいじま ; (任同)電脳外道学会 代表取締役椅子人
------------------------------------------------------------------------
Web (Japanese): http://www.dennougedougakkai-ndd.org/
      Twitter: @delmonta_iijima, @kabu_agare, #放送大学, #OUJ
  Yahoo! Japan: delmonta_iijima
------------------------------------------------------------------------
マニアツクで綾しいクイヅbot、運用開始!現在、購読者・出題者とも募集中。
    ※購読はこちらから → https://twitter.com/AyaC_KaltQ
    ※出題希望のかたは → http://kaltq.wicurio.com/
========================================================================



freebsd-users-jp メーリングリストの案内