いいじまです。
結局のところ、nc -N が使えるかどうかの判定には
% test -n "`nc -h |& egrep '[-]N[^[:alnum:]]'`"
あたりを使う必要があります。
sh ですが,直接,
if nc -N foo 1234 < bar; then
とかすれば良いような...
今回の場合、この nc コマンドは「既知のポートからデータを取ってくる」
のが目的ではなく、「既に nc -l で立ち上がっているサーバプロセスを
落とす」のが目的なんです。
ふと思ったのですが、nc -l ${PORT} & で起動したプロセスをピンポイントで
殺
"IIJIMA Hiromitsu" wrote
in :
de> 起動した子プロセスのIDを取得できれば簡単なのですが、それらしき
de> シェル変数はないようだし、
de>tcsh% set a=`nc -l 8086 >& /dev/null &`
de> としても $a に '[1] 43591' といった文字列は入りません。
de>
de> Perlで書いて、fork() で自前で実装するしかないのかなあ…。
$! ではダメでしょうか?
-- Hiroki
pgpIwa1WDX4hi.pgp
Description: PGP signature
FaceBook FreeBSD研究部の浅川です。
本日、5/26日ですが。
後藤大地さんの
第52回 FreeBSD勉強会
2016/05/26 (木) 19:00 ~ 21:30
FreeBSD翻訳に貢献しよう!基本的なツールの使い方
が、あります。
https://atnd.org/events/76082
FreeBSD研究部
https://www.facebook.com/groups/freebsd.labo.japan/
___
freebsd-users-jp@freebs
FaceBook FreeBSD研究部の浅川です。
本日、5/26日ですが。
後藤大地さんの
第52回 FreeBSD勉強会
2016/05/26 (木) 19:00 ~ 21:30
FreeBSD翻訳に貢献しよう!基本的なツールの使い方
が、あります。
https://atnd.org/events/76082
FreeBSD研究部
https://www.facebook.com/groups/freebsd.labo.japan/
___
freebsd-users-jp@freebs
いいじま@元記事です。
> 起動した子プロセスのIDを取得できれば簡単なのですが、それらしき
> シェル変数はないようだし、
>tcsh% set a=`nc -l 8086 >& /dev/null &`
> としても $a に '[1] 43591' といった文字列は入りません。
>
> Perlで書いて、fork() で自前で実装するしかないのかなあ…。
$! ではダメでしょうか?
ありがとうございます。これでいけました。
まだまだ知らないことが多いなあ…。
$ sleep 1000 &
$ echo $!
74784
$ kill 74784
$
[1]