jsyssig
사용법
jsyserr -a [-e errno] [-t second][-o output][-S][-X]
jsyserr -n execname [-e errno] [-t second][-o output][-S][-X]
jsyserr -p pid [-e errno] [-t second][-o output][-S][-X]
jsyserr -F syscall[,...] { -a | -n execname | -a pid } [-e errno] [-t second][-o output][-S][-X][-A][-0]
jsyserr -P syscall[,...] { -a | -n execname | -a pid } [-e errno] [-t second][-o output][-S][-X]
jsyserr -T syscall[,...] { -a | -n execname | -a pid } [-e errno] [-t second][-o output][-S][-X][-A][-0]
jsyserr -V
Options are as follows:
-? print this help
-0 show time information
-A print process name and arguments instead of execname with -F or -T option
-a examine system call errors for all processes
-e errno filter by errno
-F syscall[,...] print system call directly
-n execname examine system call errors for the 'execname'
-o output specify output file
-P syscall[,...] examine the number of system calls for the specified system call
-p pid examine system call errors for the 'pid'
-S print only dtrace script
-t second examine system calls during the second
-V show version
-T syscall[,...] print user stack trace directly
-X except system call error of 'dtrace' commands
설명
jsyssig 명령어는 Solars 10 버전에서 제공하는 dtrace 명령어를 이용하여,
프로세스에게 전달된 시그널 정보를 보여준다.
시그널을 전달하는 방법은 크게 두가지로 분류된다.
첫번째는 프로세스가 직접 특정 프로세스에게 전달하는 것이고, 두번째는 커널이 특정 조건에서
전달하는 것이다.
jsyssig 명령어는 성공적으로 프로세스에게 전달된 시그널 정보를 보여준다.
다음과 같이 아무 옵션 없이 jsyssig 명령어를 실행하면, 1 초 동안 발생한 시그널 정보를 보여준다.
# /opt/JSparm/bin/jsyssig
SIG_NUM COUNT SIG_NAME 18:23:24
14 2 SIGALRM
|
다음은 5 초 간격으로 3 번 시그널 정보를 보여준다.
# /opt/JSparm/bin/jsyssig 5 3
SIG_NUM COUNT SIG_NAME 18:34:33
18 2 SIGCHLD
14 10 SIGALRM
SIG_NUM COUNT SIG_NAME 18:34:38
14 10 SIGALRM
SIG_NUM COUNT SIG_NAME 18:34:43
18 1 SIGCHLD
14 10 SIGALRM
|
-n 옵션을 지정하면 시그널을 보낸 프로세스와 시그널을 받은 프로세스 이름도 함께 보여준다.
# /opt/JSparm/bin/jsyssig -n 5 3
SENDER RECIPIENT SIG_NUM COUNT SIG_NAME 18:35:30
pkill more 15 1 SIGTERM
sched ksh 18 1 SIGCHLD
sched Xorg 14 10 SIGALRM
SENDER RECIPIENT SIG_NUM COUNT SIG_NAME 18:35:35
sched Xorg 14 10 SIGALRM
SENDER RECIPIENT SIG_NUM COUNT SIG_NAME 18:35:40
sched Xorg 14 9 SIGALRM
|
-F 옵션을 지정하면 시그널이 발생하는 즉시 다음과 같이 출력한다.
# /opt/JSparm/bin/jsyssig -F
SENDER SPID RECIPIENT RPID SIG_NUM SIG_NAME
sched 0 Xorg 765 14 SIGALRM
sched 0 Xorg 765 14 SIGALRM
sched 0 syslogd 531 14 SIGALRM
sched 0 Xorg 765 14 SIGALRM
sched 0 Xorg 765 14 SIGALRM
pkill 7574 more 7305 15 SIGTERM
pkill 7574 more 7012 15 SIGTERM
sched 0 ksh 6995 18 SIGCHLD
sched 0 Xorg 765 14 SIGALRM
sched 0 Xorg 765 14 SIGALRM
|
-0 옵션을 -F 옵션과 함께 지정하면 시그널이 발생한 시간을 표시한다.
# /opt/JSparm/bin/jsyssig -F
.......WALLTIMESTAMP SENDER SPID RECIPIENT RPID SIG_NUM SIG_NAME
2018 Nov 16 21:11:50 sched 0 Xorg 733 14 SIGALRM
2018 Nov 16 21:11:50 sched 0 Xorg 733 14 SIGALRM
2018 Nov 16 21:11:51 sched 0 Xorg 733 14 SIGALRM
2018 Nov 16 21:11:51 sched 0 Xorg 733 14 SIGALRM
2018 Nov 16 21:11:52 sched 0 Xorg 733 14 SIGALRM
2018 Nov 16 21:11:52 sched 0 Xorg 733 14 SIGALRM
|
jsyssig 명령어의 출력의 의미는 다음과 같다.
컬럼 | 설명 |
---|
SENDER |
시그널을 보낸 프로세스이름
|
SPID |
시그널을 보낸 프로세스의 PID
|
RECIPIENT |
시그널을 받은 프로세스 이름
|
RPID |
시그널을 받은 프로세스의 PID
|
SIG_NUM |
시그널 번호
|
COUNT |
지정한 시간 간격 동안에 시그널이 발생한 횟수이다.
|
SIG_NAME |
시그널 번호에 일치하는 시그널 이름
|
TIME |
컬럼 헤더이 있는 자리에 바로 시간을 표시한다.
|
다음은 jsyssig 명령어의 옵션이다.
옵션 | 설명 |
-0 |
-0 옵션을 -F 옵션과 함께 사용된다.
-0 옵션을 지정하면, 출력되는 시그널 정보의 각 라인에 시간을 표시한다.
|
-F |
-F 옵션을 지정하면, 시그널이 발생하는 즉시 보여준다.
|
-n |
-n 옵션을 지정하면, 프로세스 이름도 함께 보여준다.
|
-S |
-S 옵션을 지정하면, dtrace 명령어가 실행할 dtrace script를 보여준다.
|
-s signals |
-s 옵션을 시그널 번호를 지정하면, 지정한 시그널 번호에 대해서만 조사한다.
signals 앞에 !를 붙이면, 지정한 시그널을 제외한 시그널에 대해서만 조사한다.
시그널을 여러개 지정할 경우에는 콤마로 분리한다.
|
-V |
-V 옵션을 지정하면, 명령어의 버전 정보를 보여준다.
|
interval [count] |
데이타를 수집할 시간 간격과 횟수를 지정한다.
interval 지정하지 않으면, 1로 지정된다.
count 를 지정하지 않으면, 1로 지정된다.
|
|