Articles of 屏幕

屏幕窗口死亡

我正在使用屏幕与irssi,ssh到一些服务器。 目前,我有4个窗口“打开”在我的屏幕上。 其中两个窗口是“死亡”的。 例如,我不能写这些东西。 如何“退出”屏幕窗口?

确定tmux是否有分离的会话

有没有办法来检查编程我有一个tmux屏幕会议运行? 我希望能够编写一个脚本来检查tmux会话的存在并附加它,或者如果没有会话存在,请启动一个新的会话。 所以我可以在我的.zshrc文件中创build一个自定义命令,而不必经常检查。

如何获取在屏幕会话中启动的脚本的退出代码

我目前正在创build一个备份脚本,它使用屏幕在屏幕会话中使用rsync启动备份作业。 备份作业的启动如下。 screen -dmS backup / usr / bin / rsync … 一旦rsync作业完成,屏幕会话将自动终止。 为了确保备份成功,我想检查rsync作业的退出代码,但不幸的是我真的不知道如何在屏幕终止后得到退出代码。 如果rsync作业成功或不成功,是否有人有一个好主意如何自动检查? 如果有人这样做会很好。 我已经想过使用临时文件,但是像这样: screen -dmS myScreen“rsync -av …; echo $?> / tmp / myExitCode”,但这不幸的是不起作用。 然后,我想像下面的例子中使用stderr: screen -dmS myScreen“rsync -av …> 2 / tmp / rsync-sterr 我的想法到目前为止都没有解决,因为当我使用上面的命令时,stderr不会写入。 :-(? 如果有人有一个好主意,甚至是一个解决scheme,这将是伟大的。 干杯, 贝蒂娜

使用PHP重新启动在屏幕上运行的进程

我有一些服务器软件在Linux(Debian,如果有的话)服务器的屏幕上运行。 每隔一段时间我需要input一些命令到过程,所以我想保持在屏幕上,以方便访问。 (也可以查看其最新的输出logging,不需要)。 有时这个软件需要重新启动,我这样做: screen -r (to enter the screen running the software) ^C serversoftware -flags ^AD (to "minimize" the screen) 现在来解决这个问题。 我需要做一个简单的网页与“重新启动”button,重新启动此服务器。 有什么办法可以使用PHP的exec来模仿上述过程吗? 让PHP运行任何其他语言的脚本文件也是一个选项。 我虽然不知道如何让其他进程pipe理一个屏幕。

Crontab启动一个屏幕

我在crontab中用shell脚本启动了一个屏幕,当我进入屏幕时,左边变成了“ sh-4.1# ”。 当我直接修改脚本时,它是正常的“ [root @ localhost data] ”。 发生了什么? Shell脚本: #!/bin/bash cd /data scr_name="test" pid=`screen -ls | grep -w $scr_name` if [ -z "$pid" ]; then screen -dmS $scr_name fi 而crontab是: */1 * * * * /bin/bash -l /data/test.sh 注意:它在CENTOS5.5中工作,但不在CENTOS6.3中,现在我想在CENTOS6.3中运行它。

如何观看其他控制台没有通知?

我想看看什么是自由职业者pipe理员做我的服务器。 但是我发现的所有解决scheme – 屏幕,conspy,vnc都不能满足我的需求。 Conspy很棒,但我必须要求自由职业者先运行它,看看发生了什么。 我想连接到其他的tty,看看发生了什么,而不发送密钥。 只有观看。 可能吗?

无法通过SSH在远程屏幕会话中redirectSTDOUT

我想通过SSH /屏幕执行长时间运行的命令,并将输出redirect到一个文件。 我能够很好地运行命令(类似于这个问题 ),但输出永远不会显示出来。 这是我目前的命令: ssh user@host screen -dm "ping -c 20 -i 5 localhost > /tmp/ping.out" 在远程主机上,我可以看到会话: > screen -ls There is a screen on: 4530..com001 (Detached) 1 Socket in /var/run/screen/S-root. 并附上查看实时输出,如预期与ping命令终止完成: PING localhost (127.0.0.1) 56(84) bytes of data. 64 bytes from localhost (127.0.0.1): icmp_seq=1 ttl=64 time=0.060 ms 64 bytes from localhost (127.0.0.1): icmp_seq=2 […]

Docker附加到curses进程

我正在尝试使用docker attach附加到基于curses的graphics化进程: $ docker run –name irssi -it pandrew/irssi irssi 当你使用^P^Q从这个进程中分离出来,然后用docker attach irssi重新docker attach irssi ,看起来没有任何事情发生。 但是,该过程会重新连接,因为您可以键入命令,并且可以通过触发重绘来缓慢地构buildgraphics界面。 尽pipe如此,重新join后,这个过程的行为却很奇怪。 但是,如果你最初在screen运行这个进程,一切工作正常: $ docker run –name irssi -it ${PREVIOUS_IMAGE_PLUS_SCREEN} screen irssi 您可以从容器中分离并重新附加,并且关于屏幕的内容会导致irssi会话正常运行。 看起来irssi有一些能力来检查是否“脏”,并重画屏幕: https : //github.com/irssi/irssi/blob/master/src/fe-text/irssi.c#L123 。 任何人都可以帮助解释这里发生了什么? 谢谢。

屏幕-r和屏幕-list仅显示最后一个屏幕

我的问题就像标题所描述的一样。 我正在运行ssh会话,并在我的服务器上进行多任务处理。 我的问题是,我至less有4个屏幕打开和分离,但screen -r只连接我访问过的最后一个屏幕。 screen -list清单也只列出最后一个屏幕,就好像只有一个屏幕打开。 但是,一旦我在其中一个屏幕上,我可以用Ctrl+A和N在它们之间自由切换,所有这些都在那里。 我究竟做错了什么? 谢谢。

如何使用crontab屏幕?

我有一个节点(nodemon)运行的屏幕任务,我想每天重新启动nodemon 我手动做的是在SSH下 屏幕-r myscreen 我手动input“rs” 我键入CTRL + A + D来分离屏幕 有没有办法使用CRON自动化?