일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | ||||||
2 | 3 | 4 | 5 | 6 | 7 | 8 |
9 | 10 | 11 | 12 | 13 | 14 | 15 |
16 | 17 | 18 | 19 | 20 | 21 | 22 |
23 | 24 | 25 | 26 | 27 | 28 |
- DNS
- cadre
- 리눅스
- rsync
- goaccess
- Linux
- Kernel
- iptables
- Disk
- 쇼펜의상속자 #킨텍스메가쇼 #섬유향수탈취제
- 디스크
- CPU
- Performance
- rm -rf
- http
- Python
- PORT
- ext4
- Cache
- ext3
- PERL
- 칭찬교육
- apachetop
- 좌절교육
- rm
- windows
- Bash
- Hack
- 솔라리스
- pid
- Today
- Total
Ben's
perl daemonize 본문
* 참고링크
http://deadfire.hihome.com/perl/perl029.html
http://vozlt.tistory.com/28
* 사용법
HTTP request sent, awaiting response... 200 OK
Length: 838 [text/plain]
Saving to: `daemon'
100%[=====================================================>] 838 --.-K/s in 0s
2012-07-23 15:59:06 (114 MB/s) - `daemon' saved [838/838]
[root@zenoss tmp]# mv daemon daemon.pl
[root@zenoss tmp]# chmod 700 daemon.pl
[root@zenoss tmp]# ./daemon.pl 프로그램이름
#! /usr/bin/perl
use POSIX;
use strict; use warnings;
if ($#ARGV != 0) { die "You have to Input argument only one"; }
print "First Argument: $ARGV[0]\n" if defined $ARGV[0];
if ($ARGV[0] !~ "/") { die "You have to Input PATH + PROGRAM_NAME"; }
local $| = 1; # autoflush
# daemonize run
daemonize();
# 데몬화후 구문들...
while(1) {
system("$ARGV[0]");
sleep(5);
}
# perl daemonize function
sub daemonize {
my $_PATH_DEVNULL = "/dev/null";
my $pid = fork();
if ($pid > 0) {
exit(0);
}
umask(0);
POSIX::setsid() or die "POSIX::setsid() : $!";
chdir('/') or die "chdir() : $!";
open(STDIN, '/dev/null') or die "STDIN : $!";
open(STDOUT, '>>/dev/null') or die "STDOUT : $!";
open(STDERR, '>>/dev/null') or die "STDERR : $!";
}
'리눅스 > perl' 카테고리의 다른 글
perl script timeout (0) | 2013.01.21 |
---|---|
Perl에서 모듈 업데이트시 지정한 사이트로 접속이 되지 않아 업데이틀 할 수 없는 경우 (0) | 2013.01.21 |
특정문자열 아래에 문자열 넣기 (0) | 2013.01.17 |