Isso é estranho. Se eu fizer, diga
service jenkins start
ele sempre congelará / ficará preso, como esperar por alguma entrada. O mesmo acontece com todos os serviços e comandos de início / parada. No entanto, se eu fizer como
service jenkins start | cat
funcionará sem problemas. Também canalizar para / dev / null funciona. Usando set -x
, consegui rastrear o congelamento em
+ '[' -z ']'
+ FANCYTTY=1
+ case "$FANCYTTY" in
+ true
+ /usr/bin/tput xenl
++ /usr/bin/tput cols
+ COLS=144
+ '[' 144 ']'
+ '[' 144 -gt 6 ']'
++ /usr/bin/expr 144 - 7
+ COL=137
+ log_use_plymouth
+ '[' n = y ']'
+ plymouth --ping
E, na verdade, é sempre plymouth --ping
que congela. É reproduzível diretamente da casca também. Alguma idéia para solucionar isso?
A versão do Ubuntu é 14.04.01. O Plymouth deve logar ao /var/log/boot.log , mas não vejo nada útil lá, apenas "Parando "e" Iniciando "linhas que têm OK como resultado.
Lista de processos com relação a plymouth se parece com isso:
$ ps -ef | grep plymou
root 478 1 0 Dec01 ? 00:00:04 plymouth-upstart-bridge
root 492 1 0 Dec01 ? 00:00:00 @sbin/plymouthd --mode=boot --attach-to-session
root 1710 1699 0 Dec01 ? 00:00:00 plymouth quit
root 1725 1411 0 Dec01 ? 00:00:00 plymouth --ping
root 48897 2140 0 12:12 pts/0 00:00:00 grep --color=auto plymou
strace plymouth --ping
mostra isso:
connect(6, {sa_family=AF_LOCAL, sun_path=@"/org/freedesktop/plymouthd"}, 29) = 0
epoll_ctl(3, EPOLL_CTL_ADD, 6, {EPOLLERR|EPOLLHUP, {u32=31321216, u64=31321216}}) = 0
epoll_ctl(3, EPOLL_CTL_MOD, 6, {EPOLLERR|EPOLLHUP, {u32=31321216, u64=31321216}}) = 0
epoll_ctl(3, EPOLL_CTL_MOD, 6, {EPOLLOUT|EPOLLERR|EPOLLHUP, {u32=31321216, u64=31321216}}) = 0
epoll_wait(3, {{EPOLLOUT, {u32=31321216, u64=31321216}}}, 64, -1) = 1
sendto(6, "Perror: unexpectedly disconnected from boot status daemon
", 2, MSG_NOSIGNAL, NULL, 0) = 2
epoll_ctl(3, EPOLL_CTL_MOD, 6, {EPOLLIN|EPOLLOUT|EPOLLERR|EPOLLHUP, {u32=31321216, u64=31321216}}) = 0
epoll_ctl(3, EPOLL_CTL_MOD, 6, {EPOLLIN|EPOLLERR|EPOLLHUP, {u32=31321216, u64=31321216}}) = 0
epoll_wait(3,
/var/log/upstart/plymouth.log tem uma linha:
service jenkins start