我有一个 TMux 会话,并且 Aptitude 打开。 Aptitude 进程已被 STOP/CONT 多次“终止”。现在它对 Q 键没有反应。相反,在 tty 的左上角会打印一个“q”。写入“q”可/proc/.../fd/0
产生相同的效果。我该如何解决?
答案1
参考资质来源SIGTERM
,它为, SIGINT
, SIGHUP
(以及SIGILL
, SIGSEGV
,SIGBUS
和)安装信号处理程序SIGABRT
。这只会删除一个临时目录。atexit
正常退出时它会执行相同的操作。
请记住,这aptitude
是一个前端到apt
。如果aptitude
不是正在做任何东西,那么一种杀死它的方法应该和另一种方法一样有效。 SIGSTOP
不这样做。它暂停该过程。该信号由 ncurses 处理,顺便安装处理程序SIGTERM
并SIGINT
清理屏幕(请参阅信号处理程序手册页中的讨论initscr
)。鉴于 ncurses 在 之后执行其处理程序aptitude
,似乎atexit
清理临时目录的代码是什么aptitude
用途。
根据描述,aptitude
已停止/启动,并且由于某种原因没有响应。从另一个终端,您应该能够使用kill
、发送SIGINT
或SIGTERM
终止该进程。
另一方面,apt
做工作。你可能需要修理它是状态。问题如何安全地中止 apt-get 安装?提到修复 dpkg 数据库的一种方法:
sudo dpkg --configure -a