如何在另一个linux终端中结束进程

时间:2016-01-05 04:49:40

标签: linux process kill framebuffer sigterm

背景信息:

  • 我正在尝试使用树莓派来设置远程显示器。
  • 目前我正在使用fbi(帧缓冲图像查看器)来显示图像。
  • 该设备将通过ssh或web界面进行控制 - 不确定哪个,但绝对不是来自实际设备。

问题我似乎无法找到一种简单的方法来“清理”远程退出流程,清除屏幕&不产生任何错误。如果按下q按钮,fbi程序将退出,但这似乎对ssh没有好处。理想情况下,我更喜欢一个不那么混乱的解决方案,然后每次杀死之前都要查看pid。我对使用另一个程序的想法持开放态度,但我无法在Xorg中运行它。

我试过了:

  • grep-pid并发送kill -sigterm,但它不会退出或不清除屏幕
  • echo "q" > /proc/[pid]/fd/0 - 我尝试的所有迭代我要么拒绝访问,要么没有任何反应

任何想法?

2 个答案:

答案 0 :(得分:0)

如何在没有消息的情况下终止进程? 在一个终端,我开始了一个过程:

# kill -13 (pgrep sleep)

现在要杀死进程,没有消息而不知道pid:

# tty
/dev/pts/1

如何远程清除终端屏幕?
首先,获取要清除的终端的tty#:

# printf '\033c' > /dev/pts/1

现在来自不同的终端:

onclick

答案 1 :(得分:0)

如果没有看到您的代码,解决方案可能是使用fbi在另一个终端上显示fb0上的图像:

fbi -T 1 -noverbose -d /dev/fb0 image.png

然后清除整个帧缓冲区(fb0):

dd if=/dev/zero of=/dev/fb0

或者更好的是,只需写一个"空白"图像到fb0到"清除"它