開発環境
- OS X Lion - Apple(OS)
- BBEdit - Bare Bones Software, Inc.(Text Editor)
- Script言語:Perl
『初めてのPerl 第6版』(Randal L. Schwartz, Tom Phoenix, brian d foy 共著、近藤 嘉雪 訳、オライリー・ジャパン、2012年、ISBN978-4-87311-567-2) の15章(プロセス管理)、15.6(練習問題)3を解いてみる。
その他参考書籍
3.
コード(BBEdit)
sample.pl
#!/usr/bin/env perl
use strict;
use warnings;
use utf8;
use 5.016;
binmode STDOUT, ':utf8';
binmode STDIN, ':utf8';
print $$ . "\n";
sub count_hup{
state $n = 0;
$n++;
print "HUP: " . $n . "回\n";
}
sub count_cont{
state $n = 0;
$n++;
print "CONT: " . $n . "回\n";
}
sub count_int{
print "INT\n";
exit;
}
for(qw(hup cont int)){
$SIG{uc $_} = 'count_' . $_;
}
while(1){}
入出力結果(Terminal)
$ ./sample.pl 89698 HUP: 1回 HUP: 2回 CONT: 1回 CONT: 2回 HUP: 3回 CONT: 3回 INT $
入出力結果(Terminal)
$ kill -HUP 89698 $ kill -HUP 89698 $ kill -CONT 89698 $ kill -CONT 89698 $ kill -HUP 89698 $ kill -CONT 89698 $ kill -INT 89698
pythonの場合。
sample.py
コード(BBEdit)
#!/usr/bin/env python3.3
#-*- coding: utf-8 -*-
import os, re
child = os.popen('date')
date = child.read()
err = child.close()
if re.search(r"^S", date) or re.search(r"(土|日)曜日", date):
print("go play")
else:
print("get to work")
入出力結果(Terminal)
$ ./sample.py HUP: 1回 HUP: 2回 CONT: 1回 CONT: 2回 HUP: 3回 CONT: 3回 INT $
入出力結果(Terminal)
$ kill -HUP 90051 $ kill -HUP 90051 $ kill -CONT 90051 $ kill -CONT 90051 $ kill -HUP 90051 $ kill -CONT 90051 $ kill -INT 90051
0 コメント:
コメントを投稿