X

News, tips, partners, and perspectives for the Oracle Solaris operating system

Associando um PID com um Serviço

Guest Author

Uma dúvida comum quando se discute processos e serviços SMF é de como associar um processo a um serviço. Este post apresenta uma maneira (talvez a mais simples) de fazer isto.

Vamos usar um processo Java qualquer como exemplo:

bleonard@opensolaris:/system$ ps -fp 949
UID PID PPID C STIME TTY TIME CMD
root 949 947 0 Oct 11 ? 3:46 /usr/jdk/jdk1.6.0_13/bin/java -Xms4M -Xmx128M -Dcom.sun.management.jmxremote -D

Precisamos do identificador do contrato do processo para descobrir qual serviço SMF iniciou este processo:

bleonard@opensolaris:/system$ ps -o ctid -p 949
CTID59

Você pode então usar o comando ctstat(1) para correlacionar o ID do contrato com o serviço SMF:

bleonard@opensolaris:/system$ ctstat -vi 59
CTID ZONEID TYPE STATE HOLDER EVENTS QTIME NTIME
59 0 process owned 7 0 - -

cookie: 0x20

informative event set: none

critical event set: core signal hwerr empty

fatal event set: none

parameter set: inherit regent

member processes: 947 949

inherited contracts: none

service fmri: svc:/application/management/common-agent-container-1:default

service fmri ctid: 59

creator: svc.startd

aux: start

E para completar o círculo:

bleonard@opensolaris:/system$ svcs -lp  common-agent-container-1
fmri svc:/application/management/common-agent-container-1:default
name Cacao, a common Java container for JDMK/JMX based management solution
enabled true
state online
next_state none
state_time Mon Oct 11 12:54:59 2010
logfile /var/svc/log/application-management-common-agent-container-1:default.log
restarter svc:/system/svc/restarter:default
contract_id 59
dependency require_all/none svc:/system/filesystem/local (online)
dependency require_all/none svc:/network/initial (online)
process 947 /usr/lib/cacao/lib/tools/launch -w /var/run/cacao/instances/default/run -L 1638
process 949 /usr/jdk/jdk1.6.0_13/bin/java -Xms4M -Xmx128M -Dcom.sun.management.jmxremote -D

Caso tenha interesse, pode buscar mais informações sobre contratos neste tutorial: Contract Subsystem Lab.

Post original: Associating a PID with a Service

Be the first to comment

Comments ( 0 )
Please enter your name.Please provide a valid email address.Please enter a comment.CAPTCHA challenge response provided was incorrect. Please try again.