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

IIJIMA Hiromitsu delmonta @ dennougedougakkai-ndd.org
2016年 5月 21日 (土) 04:14:37 UTC


いいじまです。

>>> 結局のところ、nc -N が使えるかどうかの判定には
>>>     % test -n "`nc -h |& egrep '[-]N[^[:alnum:]]'`"
>>> あたりを使う必要があります。
>> 
>> sh ですが,直接,
>> if nc -N foo 1234 < bar; then
>> とかすれば良いような...
> 
> 今回の場合、この nc コマンドは「既知のポートからデータを取ってくる」
> のが目的ではなく、「既に nc -l で立ち上がっているサーバプロセスを
> 落とす」のが目的なんです。

ふと思ったのですが、nc -l ${PORT} & で起動したプロセスをピンポイントで
殺すのって、どうすればいいんでしょう?
起動した子プロセスのIDを取得できれば簡単なのですが、それらしき
シェル変数はないようだし、
    tcsh% set a=`nc -l 8086 >& /dev/null &`
としても $a に '[1] 43591' といった文字列は入りません。

Perlで書いて、fork() で自前で実装するしかないのかなあ…。

========================================================================
(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 メーリングリストの案内