2013年1月15日火曜日

開発環境

『初めての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 コメント:

コメントを投稿