
Duas vezes agora (com algum intervalo de tempo, algumas semanas, eu acho) a timidez começou do nada quando eu arranquei meu computador do modo de suspensão. Ele ocupa todo o poder de processamento de um dos meus núcleos e está em execução há cerca de 5 a 10 minutos e gostaria de saber por que esse processo está sendo iniciado.
A execução pstree
mostra o processo como descendente direto de systemd
então acho que systemd
é responsável por iniciar timidity
, mas não sei como procurar a configuração que iniciou timidity
.
Se eu executar strace
o processo, recebo o seguinte:
ioctl(4, SNDRV_PCM_IOCTL_HWSYNC, 0x7fff43107780) = 0
ioctl(4, SNDRV_PCM_IOCTL_HWSYNC, 0x3cd407d5) = 0
poll([{fd=6, events=POLLIN}], 1, 0) = 0 (Timeout)
ioctl(6, SNDRV_SEQ_IOCTL_GET_QUEUE_STATUS, 0x16c83e0) = 0
ioctl(4, SNDRV_PCM_IOCTL_HWSYNC, 0x7fff43107780) = 0
ioctl(4, SNDRV_PCM_IOCTL_HWSYNC, 0x3cd407d5) = 0
poll([{fd=6, events=POLLIN}], 1, 0) = 0 (Timeout)
ioctl(6, SNDRV_SEQ_IOCTL_GET_QUEUE_STATUS, 0x16c83e0) = 0
ioctl(4, SNDRV_PCM_IOCTL_HWSYNC, 0x7fff43107780) = 0
ioctl(4, SNDRV_PCM_IOCTL_HWSYNC, 0x3cd407d5) = 0
poll([{fd=6, events=POLLIN}], 1, 0) = 0 (Timeout)
ioctl(6, SNDRV_SEQ_IOCTL_GET_QUEUE_STATUS, 0x16c83e0) = 0
ioctl(4, SNDRV_PCM_IOCTL_HWSYNC, 0x7fff43107780) = 0
ioctl(4, SNDRV_PCM_IOCTL_HWSYNC, 0x3cd407d5) = 0
poll([{fd=6, events=POLLIN}], 1, 0) = 0 (Timeout)
ioctl(6, SNDRV_SEQ_IOCTL_GET_QUEUE_STATUS, 0x16c83e0) = 0
ioctl(4, SNDRV_PCM_IOCTL_HWSYNC, 0x7fff43107780) = 0
ioctl(4, SNDRV_PCM_IOCTL_HWSYNC, 0x3cd407d5) = 0
poll([{fd=6, events=POLLIN}], 1, 0) = 0 (Timeout)
ioctl(6, SNDRV_SEQ_IOCTL_GET_QUEUE_STATUS, 0x16c83e0) = 0
ioctl(4, SNDRV_PCM_IOCTL_HWSYNC, 0x7fff43107780) = 0
ioctl(4, SNDRV_PCM_IOCTL_HWSYNC, 0x3cd407d5) = 0
poll([{fd=6, events=POLLIN}], 1, 0) = 0 (Timeout)
ioctl(6, SNDRV_SEQ_IOCTL_GET_QUEUE_STATUS, 0x16c83e0) = 0
ioctl(4, SNDRV_PCM_IOCTL_HWSYNC, 0x7fff43107780) = 0
ioctl(4, SNDRV_PCM_IOCTL_HWSYNC, 0x3cd407d5) = 0
poll([{fd=6, events=POLLIN}], 1, 0) = 0 (Timeout)
ioctl(6, SNDRV_SEQ_IOCTL_GET_QUEUE_STATUS, 0x16c83e0) = 0
ioctl(4, SNDRV_PCM_IOCTL_HWSYNC, 0x7fff43107780) = 0
ioctl(4, SNDRV_PCM_IOCTL_HWSYNC, 0x3cd407d5) = 0
poll([{fd=6, events=POLLIN}], 1, 0) = 0 (Timeout)
ioctl(6, SNDRV_SEQ_IOCTL_GET_QUEUE_STATUS, 0x16c83e0) = 0
ioctl(4, SNDRV_PCM_IOCTL_HWSYNC, 0x7fff43107780) = 0
ioctl(4, SNDRV_PCM_IOCTL_HWSYNC, 0x3cd407d5) = 0
poll([{fd=6, events=POLLIN}], 1, 0) = 0 (Timeout)
ioctl(6, SNDRV_SEQ_IOCTL_GET_QUEUE_STATUS, 0x16c83e0) = 0
ioctl(4, SNDRV_PCM_IOCTL_HWSYNC, 0x7fff43107780) = 0
ioctl(4, SNDRV_PCM_IOCTL_HWSYNC, 0x3cd407d5) = 0
poll([{fd=6, events=POLLIN}], 1, 0) = 0 (Timeout)
ioctl(6, SNDRV_SEQ_IOCTL_GET_QUEUE_STATUS, 0x16c83e0) = 0
ioctl(4, SNDRV_PCM_IOCTL_HWSYNC, 0x7fff43107780) = 0
ioctl(4, SNDRV_PCM_IOCTL_HWSYNC, 0x3cd407d5) = 0
poll([{fd=6, events=POLLIN}], 1, 0) = 0 (Timeout)
ioctl(6, SNDRV_SEQ_IOCTL_GET_QUEUE_STATUS, 0x16c83e0) = 0
ioctl(4, SNDRV_PCM_IOCTL_HWSYNC, 0x7fff43107780) = 0
ioctl(4, SNDRV_PCM_IOCTL_HWSYNC, 0x3cd407d5) = 0
poll([{fd=6, events=POLLIN}], 1, 0) = 0 (Timeout)
ioctl(6, SNDRV_SEQ_IOCTL_GET_QUEUE_STATUS, 0x16c83e0) = 0
ioctl(4, SNDRV_PCM_IOCTL_HWSYNC, 0x7fff43107780) = 0
ioctl(4, SNDRV_PCM_IOCTL_HWSYNC, 0x3cd407d5) = 0
poll([{fd=6, events=POLLIN}], 1, 0) = 0 (Timeout)
ioctl(6, SNDRV_SEQ_IOCTL_GET_QUEUE_STATUS, 0x16c83e0) = 0
ioctl(4, SNDRV_PCM_IOCTL_HWSYNC, 0x7fff43107780) = 0
ioctl(4, SNDRV_PCM_IOCTL_HWSYNC, 0x3cd407d5) = 0
poll([{fd=6, events=POLLIN}], 1, 0) = 0 (Timeout)
ioctl(6, SNDRV_SEQ_IOCTL_GET_QUEUE_STATUS, 0x16c83e0) = 0
ioctl(4, SNDRV_PCM_IOCTL_HWSYNC, 0x7fff43107780) = 0
ioctl(4, SNDRV_PCM_IOCTL_HWSYNC, 0x3cd407d5) = 0
poll([{fd=6, events=POLLIN}], 1, 0) = 0 (Timeout)
ioctl(6, SNDRV_SEQ_IOCTL_GET_QUEUE_STATUS, 0x16c83e0) = 0
ioctl(4, SNDRV_PCM_IOCTL_HWSYNC, 0x7fff43107780) = 0
ioctl(4, SNDRV_PCM_IOCTL_HWSYNC, 0x3cd407d5) = 0
poll([{fd=6, events=POLLIN}], 1, 0) = 0 (Timeout)
ioctl(6, SNDRV_SEQ_IOCTL_GET_QUEUE_STATUS, 0x16c83e0) = 0
ioctl(4, SNDRV_PCM_IOCTL_HWSYNC, 0x7fff43107780) = 0
ioctl(4, SNDRV_PCM_IOCTL_HWSYNC, 0x3cd407d5) = 0
poll([{fd=6, events=POLLIN}], 1, 0) = 0 (Timeout)
ioctl(6, SNDRV_SEQ_IOCTL_GET_QUEUE_STATUS, 0x16c83e0) = 0
ioctl(4, SNDRV_PCM_IOCTL_HWSYNC, 0x7fff43107780) = 0
ioctl(4, SNDRV_PCM_IOCTL_HWSYNC, 0x3cd407d5) = 0
poll([{fd=6, events=POLLIN}], 1, 0) = 0 (Timeout)
ioctl(6, SNDRV_SEQ_IOCTL_GET_QUEUE_STATUS, 0x16c83e0) = 0
ioctl(4, SNDRV_PCM_IOCTL_HWSYNC, 0x7fff43107780) = 0
ioctl(4, SNDRV_PCM_IOCTL_HWSYNC, 0x3cd407d5) = 0
poll([{fd=6, events=POLLIN}], 1, 0) = 0 (Timeout)
ioctl(6, SNDRV_SEQ_IOCTL_GET_QUEUE_STATUS, 0x16c83e0) = 0
ioctl(4, SNDRV_PCM_IOCTL_HWSYNC, 0x7fff43107780) = 0
ioctl(4, SNDRV_PCM_IOCTL_HWSYNC, 0x3cd407d5) = 0
poll([{fd=6, events=POLLIN}], 1, 0) = 0 (Timeout)
ioctl(6, SNDRV_SEQ_IOCTL_GET_QUEUE_STATUS, 0x16c83e0) = 0
ioctl(4, SNDRV_PCM_IOCTL_HWSYNC, 0x7fff43107780) = 0
ioctl(4, SNDRV_PCM_IOCTL_HWSYNC, 0x3cd407d5) = 0
poll([{fd=6, events=POLLIN}], 1, 0) = 0 (Timeout)
ioctl(6, SNDRV_SEQ_IOCTL_GET_QUEUE_STATUS, 0x16c83e0) = 0
ioctl(4, SNDRV_PCM_IOCTL_HWSYNC, 0x7fff43107780) = 0
ioctl(4, SNDRV_PCM_IOCTL_HWSYNC, 0x3cd407d5) = 0
poll([{fd=6, events=POLLIN}], 1, 0) = 0 (Timeout)
ioctl(6, SNDRV_SEQ_IOCTL_GET_QUEUE_STATUS, 0x16c83e0) = 0
ioctl(4, SNDRV_PCM_IOCTL_HWSYNC, 0x7fff43107780) = 0
ioctl(4, SNDRV_PCM_IOCTL_HWSYNC, 0x3cd407d5) = 0
poll([{fd=6, events=POLLIN}], 1, 0) = 0 (Timeout)
ioctl(6, SNDRV_SEQ_IOCTL_GET_QUEUE_STATUS, 0x16c83e0) = 0
ioctl(4, SNDRV_PCM_IOCTL_HWSYNC, 0x7fff43107780) = 0
ioctl(4, SNDRV_PCM_IOCTL_HWSYNC, 0x3cd407d5) = 0
poll([{fd=6, events=POLLIN}], 1, 0) = 0 (Timeout)
ioctl(6, SNDRV_SEQ_IOCTL_GET_QUEUE_STATUS, 0x16c83e0) = 0
ioctl(4, SNDRV_PCM_IOCTL_HWSYNC, 0x7fff43107780) = 0
ioctl(4, SNDRV_PCM_IOCTL_HWSYNC, 0x3cd407d5) = 0
poll([{fd=6, events=POLLIN}], 1, 0) = 0 (Timeout)
ioctl(6, SNDRV_SEQ_IOCTL_GET_QUEUE_STATUS, 0x16c83e0) = 0
ioctl(4, SNDRV_PCM_IOCTL_HWSYNC, 0x7fff43107780) = 0
ioctl(4, SNDRV_PCM_IOCTL_HWSYNC, 0x3cd407d5) = 0
poll([{fd=6, events=POLLIN}], 1, 0) = 0 (Timeout)
ioctl(6, SNDRV_SEQ_IOCTL_GET_QUEUE_STATUS, 0x16c83e0) = 0
ioctl(4, SNDRV_PCM_IOCTL_HWSYNC, 0x7fff43107780) = 0
ioctl(4, SNDRV_PCM_IOCTL_HWSYNC, 0x3cd407d5) = 0
poll([{fd=6, events=POLLIN}], 1, 0) = 0 (Timeout)
ioctl(6, SNDRV_SEQ_IOCTL_GET_QUEUE_STATUS, 0x16c83e0) = 0
ioctl(4, SNDRV_PCM_IOCTL_HWSYNC, 0x7fff43107780) = 0
ioctl(4, SNDRV_PCM_IOCTL_HWSYNC, 0x3cd407d5) = 0
poll([{fd=6, events=POLLIN}], 1, 0) = 0 (Timeout)
ioctl(6, SNDRV_SEQ_IOCTL_GET_QUEUE_STATUS, 0x16c83e0) = 0
ioctl(4, SNDRV_PCM_IOCTL_HWSYNC, 0x7fff43107780) = 0
ioctl(4, SNDRV_PCM_IOCTL_HWSYNC, 0x3cd407d5) = 0
poll([{fd=6, events=POLLIN}], 1, 0) = 0 (Timeout)
ioctl(6, SNDRV_SEQ_IOCTL_GET_QUEUE_STATUS, 0x16c83e0) = 0
ioctl(4, SNDRV_PCM_IOCTL_HWSYNC, 0x7fff43107780) = 0
ioctl(4, SNDRV_PCM_IOCTL_HWSYNC, 0x3cd407d5) = 0
poll([{fd=6, events=POLLIN}], 1, 0) = 0 (Timeout)
ioctl(6, SNDRV_SEQ_IOCTL_GET_QUEUE_STATUS, 0x16c83e0) = 0
ioctl(4, SNDRV_PCM_IOCTL_HWSYNC, 0x7fff43107780) = 0
ioctl(4, SNDRV_PCM_IOCTL_HWSYNC, 0x3cd407d5) = 0
poll([{fd=6, events=POLLIN}], 1, 0) = 0 (Timeout)
ioctl(6, SNDRV_SEQ_IOCTL_GET_QUEUE_STATUS, 0x16c83e0) = 0
ioctl(4, SNDRV_PCM_IOCTL_HWSYNC, 0x7fff43107780) = 0
ioctl(4, SNDRV_PCM_IOCTL_HWSYNC, 0x3cd407d5) = 0
poll([{fd=6, events=POLLIN}], 1, 0) = 0 (Timeout)
ioctl(6, SNDRV_SEQ_IOCTL_GET_QUEUE_STATUS, 0x16c83e0) = 0
ioctl(4, SNDRV_PCM_IOCTL_HWSYNC, 0x7fff43107780) = 0
ioctl(4, SNDRV_PCM_IOCTL_HWSYNC, 0x3cd407d5) = 0
poll([{fd=6, events=POLLIN}], 1, 0) = 0 (Timeout)
ioctl(6, SNDRV_SEQ_IOCTL_GET_QUEUE_STATUS, 0x16c83e0) = 0
ioctl(4, SNDRV_PCM_IOCTL_HWSYNC, 0x7fff43107780) = 0
ioctl(4, SNDRV_PCM_IOCTL_HWSYNC, 0x3cd407d5) = 0
poll([{fd=6, events=POLLIN}], 1, 0) = 0 (Timeout)
ioctl(6, SNDRV_SEQ_IOCTL_GET_QUEUE_STATUS, 0x16c83e0) = 0
ioctl(4, SNDRV_PCM_IOCTL_HWSYNC, 0x7fff43107780) = 0
ioctl(4, SNDRV_PCM_IOCTL_HWSYNC, 0x3cd407d5) = 0
poll([{fd=6, events=POLLIN}], 1, 0) = 0 (Timeout)
ioctl(6, SNDRV_SEQ_IOCTL_GET_QUEUE_STATUS, 0x16c83e0) = 0
ioctl(4, SNDRV_PCM_IOCTL_HWSYNC, 0x7fff43107780) = 0
ioctl(4, SNDRV_PCM_IOCTL_HWSYNC, 0x3cd407d5) = 0
poll([{fd=6, events=POLLIN}], 1, 0) = 0 (Timeout)
ioctl(6, SNDRV_SEQ_IOCTL_GET_QUEUE_STATUS, 0x16c83e0) = 0
ioctl(4, SNDRV_PCM_IOCTL_HWSYNC, 0x7fff43107780) = 0
ioctl(4, SNDRV_PCM_IOCTL_HWSYNC, 0x3cd407d5) = 0
poll([{fd=6, events=POLLIN}], 1, 0) = 0 (Timeout)
ioctl(6, SNDRV_SEQ_IOCTL_GET_QUEUE_STATUS, 0x16c83e0) = 0
ioctl(4, SNDRV_PCM_IOCTL_HWSYNC, 0x7fff43107780) = 0
ioctl(4, SNDRV_PCM_IOCTL_HWSYNC, 0x3cd407d5) = 0
poll([{fd=6, events=POLLIN}], 1, 0) = 0 (Timeout)
ioctl(6, SNDRV_SEQ_IOCTL_GET_QUEUE_STATUS, 0x16c83e0) = 0
ioctl(4, SNDRV_PCM_IOCTL_HWSYNC, 0x7fff43107780) = 0
ioctl(4, SNDRV_PCM_IOCTL_HWSYNC, 0x3cd407d5) = 0
poll([{fd=6, events=POLLIN}], 1, 0) = 0 (Timeout)
ioctl(6, SNDRV_SEQ_IOCTL_GET_QUEUE_STATUS, 0x16c83e0) = 0
ioctl(4, SNDRV_PCM_IOCTL_HWSYNC, 0x7fff43107780) = 0
ioctl(4, SNDRV_PCM_IOCTL_HWSYNC, 0x3cd407d5) = 0
poll([{fd=6, events=POLLIN}], 1, 0) = 0 (Timeout)
ioctl(6, SNDRV_SEQ_IOCTL_GET_QUEUE_STATUS, 0x16c83e0) = 0
ioctl(4, SNDRV_PCM_IOCTL_HWSYNC, 0x7fff43107780) = 0
ioctl(4, SNDRV_PCM_IOCTL_HWSYNC, 0x3cd407d5) = 0
poll([{fd=6, events=POLLIN}], 1, 0) = 0 (Timeout)
ioctl(6, SNDRV_SEQ_IOCTL_GET_QUEUE_STATUS, 0x16c83e0) = 0
ioctl(4, SNDRV_PCM_IOCTL_HWSYNC, 0x7fff43107780) = 0
ioctl(4, SNDRV_PCM_IOCTL_HWSYNC, 0x3cd407d5) = 0
poll([{fd=6, events=POLLIN}], 1, 0) = 0 (Timeout)
ioctl(6, SNDRV_SEQ_IOCTL_GET_QUEUE_STATUS, 0x16c83e0) = 0
ioctl(4, SNDRV_PCM_IOCTL_HWSYNC, 0x7fff43107780) = 0
ioctl(4, SNDRV_PCM_IOCTL_HWSYNC, 0x3cd407d5) = 0
poll([{fd=6, events=POLLIN}], 1, 0) = 0 (Timeout)
ioctl(6, SNDRV_SEQ_IOCTL_GET_QUEUE_STATUS, 0x16c83e0) = 0
ioctl(4, SNDRV_PCM_IOCTL_HWSYNC, 0x7fff43107780) = 0
ioctl(4, SNDRV_PCM_IOCTL_HWSYNC, 0x3cd407d5) = 0
poll([{fd=6, events=POLLIN}], 1, 0) = 0 (Timeout)
ioctl(6, SNDRV_SEQ_IOCTL_GET_QUEUE_STATUS, 0x16c83e0) = 0
ioctl(4, SNDRV_PCM_IOCTL_HWSYNC, 0x7fff43107780) = 0
ioctl(4, SNDRV_PCM_IOCTL_HWSYNC, 0x3cd407d5) = 0
poll([{fd=6, events=POLLIN}], 1, 0) = 0 (Timeout)
ioctl(6, SNDRV_SEQ_IOCTL_GET_QUEUE_STATUS, 0x16c83e0) = 0
ioctl(4, SNDRV_PCM_IOCTL_HWSYNC, 0x7fff43107780) = 0
ioctl(4, SNDRV_PCM_IOCTL_HWSYNC, 0x3cd407d5) = 0
poll([{fd=6, events=POLLIN}], 1, 0) = 0 (Timeout)
ioctl(6, SNDRV_SEQ_IOCTL_GET_QUEUE_STATUS, 0x16c83e0) = 0
ioctl(4, SNDRV_PCM_IOCTL_HWSYNC, 0x7fff43107780) = 0
ioctl(4, SNDRV_PCM_IOCTL_HWSYNC, 0x3cd407d5) = 0
poll([{fd=6, events=POLLIN}], 1, 0) = 0 (Timeout)
ioctl(6, SNDRV_SEQ_IOCTL_GET_QUEUE_STATUS, 0x16c83e0) = 0
ioctl(4, SNDRV_PCM_IOCTL_HWSYNC, 0x7fff43107780) = 0
ioctl(4, SNDRV_PCM_IOCTL_HWSYNC, 0x3cd407d5) = 0
poll([{fd=6, events=POLLIN}], 1, 0) = 0 (Timeout)
ioctl(6, SNDRV_SEQ_IOCTL_GET_QUEUE_STATUS, 0x16c83e0) = 0
ioctl(4, SNDRV_PCM_IOCTL_HWSYNC, 0x7fff43107780) = 0
ioctl(4, SNDRV_PCM_IOCTL_HWSYNC, 0x3cd407d5) = 0
Os arquivos abertos por esse processo são:
/dev/null
/dev/snd/timer
/dev/snd/pcmC0D0p
/dev/snd/controlC0
/dev/snd/seq
A linha de comando executada é:
/usr/bin/timidity-Os-iAD
Estas últimas 3 informações foram retiradas de /proc/$PID/
.
Então eu pergunto, como posso descobrir por que timidity
está sendo executado (abordarei o problema de por que ele está ocupando todos os núcleos mais tarde).
Responder1
cat /run/systemd/generator.late/timidity.service
# Automatically generated by systemd-sysv-generator
[Unit]
SourcePath=/etc/init.d/timidity
Description=LSB: start and stop timidity
Before=runlevel2.target runlevel3.target runlevel4.target runlevel5.target shutdown.target
After=remote-fs.target
Conflicts=shutdown.target
[Service]
Type=forking
Restart=no
TimeoutSec=5min
IgnoreSIGPIPE=no
KillMode=process
GuessMainPID=no
RemainAfterExit=yes
SysVStartPriority=1
ExecStart=/etc/init.d/timidity start
ExecStop=/etc/init.d/timidity stop
A unidade systemd é gerada dinâmica pelo systemd. Para evitar o início você pode usar chkconfig
ou apagar o link /etc/rc2.d/S01timidity
que eu prefeririachkconfig --del timidity