标签: gnu-screen

我可以 nohup/screen 一个已经启动的进程吗?

我正在通过 SSH 对长时间运行的数据迁移脚本进行一些测试。假设我在下午 4 点左右开始运行脚本;现在,下午 6 点左右,我诅咒自己没有全力以赴screen

有什么办法可以“追溯”nohup一个进程,还是我需要整晚让我的电脑在线?如果无法附加screen到/nohup我已经开始的进程,那为什么?与父/子进程的交互方式有关吗?(我不会接受至少没有解决“为什么”问题的“否”答案——抱歉;))

linux unix ssh nohup gnu-screen

272
推荐指数
8
解决办法
9万
查看次数

将已在运行的进程移至 Screen

我的办公室工作经常看到我通过 VNC 连接到 Linux 机器。

有时我在控制台上启动远程作业,后来意识到它运行的时间比预期的要长得多。(应该首先在 Screen 下启动那个...)

我不想为了保持 VNC 会话打开而让我的工作站通宵运行;我想将已经在运行的远程作业移动到 Screen 会话中(在远程盒子上),这样我就可以关闭工作站(并在第二天早上重新连接)。

如果有的话,如何做到这一点?

linux vnc gnu-screen

254
推荐指数
3
解决办法
18万
查看次数

如何重新连接到断开连接的 ssh 会话

有没有办法连接到已断开连接的 ssh 会话?我们的网络连接到我们单独处理的远程站点时遇到问题;然而,与此同时,由于在连接到远程位置的服务器时丢失数据包,我们会遇到大量断开连接的情况。很多时候会话会保持活动一段时间,有时它恰好处于某些操作(文件编辑、运行某些进程等)的中间,如果可能的话,我需要返回而不是重新启动。

linux ssh gnu-screen

185
推荐指数
9
解决办法
29万
查看次数

Sudo 作为不同的用户和运行屏幕

今天发现作为我 sudo 进入的不同用户运行屏幕将不起作用!

IE

ssh bob@server         # ssh into server as bob
sudo su "monitor" -
screen                 # fails: Cannot open your terminal '/dev/pts/0'
Run Code Online (Sandbox Code Playgroud)

我有一个以“监视器”用户身份运行的脚本。我们在屏幕会话中运行它,以便在屏幕上看到输出。问题是,我们有许多用户使用自己的帐户(即 bob、james、susie 等)登录,然后他们 sudo 进入“监视器”用户。让他们访问“监视器”用户是不可能的。

sudo gnu-screen

178
推荐指数
4
解决办法
9万
查看次数

是否可以将进程与其终端分离?(或者,“我应该使用屏幕!”)

可能的重复:
我可以 nohup/screen 一个已经启动的进程吗?

在 Unix(特别是 Linux)上,我在常规 ssh->bash 会话中开始了一项工作。我想尽快下班,但我现在意识到这项工作需要几个小时。

如果我刚刚在银幕上开始这项工作,我可以分离回家。但我没有。

有什么方法可以断开作业与其 ssh 会话的连接,这样我就可以关闭我的计算机(断开 TCP 连接并终止 ssh 会话),并且程序继续运行?

我不在乎它的输出——事实上,我将 stdout 重定向到了一个文件。我只是想让它运行完成。

linux unix gnu-screen

162
推荐指数
7
解决办法
18万
查看次数

如何在 GNU Screen 中重新排序窗口、更改滚动快捷方式和修改状态栏内容?

我学会了使用 gnu-screen 并且在过去几周一直在使用它。我现在掌握了基础知识,如果我澄清了这些查询,将会非常有帮助:

  1. 如何在 Linux 屏幕实用程序中重命名/重新排序/移动窗口?

    例如,使用几天后,我的窗口编号为 2、3、6、8。现在我想在 #9 或 #7 处创建一个新窗口。这可能吗?如果是,如何?

    另外,是否可以将窗口#6“移动”到#4或#7?如果是,如何?

  2. 滚动快捷方式:滚动需要 Ctrl-A + Esc,然后是 Ctrl-u / Ctrl-d。有没有办法映射 PgUp / PgDn 来直接执行这些操作?或者,有没有办法映射某个键(如 F5)以带我进入复制模式,然后 PgUp / PgDn 进行滚动?

  3. 我启用了“总是标题”,所以当前窗口标题总是显示在底部。有没有办法在同一个标​​题栏中显示当前窗口的日志文件名和日志状态(开/关)?

linux gnu-screen

106
推荐指数
2
解决办法
5万
查看次数

如何检查我是否在屏幕会话中?

我需要它来确定点击ctrl+d是否会断开我与服务器的连接或只是关闭 current screen

是否可以以某种方式检查我现在是否在screen会话中?

console gnu-screen

101
推荐指数
5
解决办法
4万
查看次数

如何在不重新启动屏幕的情况下重新加载 screenrc?

修改 screenrc 后,如何在不重启 screen 的情况下查看更改?

gnu-screen

100
推荐指数
3
解决办法
4万
查看次数

我可以向在 screen 会话中运行的活动进程的 STDIN 发送一些文本吗?

我的 Linux 服务器上的屏幕会话中有一个长时间运行的服务器进程。它有点不稳定(遗憾的是不是我的软件,所以我无法修复它!),所以我想编写一个每晚重新启动该过程的脚本以帮助稳定性。让它正常关闭的唯一方法是转到 screen 进程,切换到它正在运行的窗口,并在其控制台上输入字符串“stop”。

我可以做任何智能重定向扭曲来让 cronjob 每天在固定时间发送该停止命令吗?

linux gnu-screen stdin

86
推荐指数
5
解决办法
12万
查看次数

如何从我的桌面通过远程服务器上的 ssh 命令启动屏幕会话?

我希望能够通过桌面上的单个 ssh 命令在远程服务器上启动屏幕会话。但是, screen 似乎需要一个终端,通过 ssh 运行命令时该终端不可用。

所以显而易见

ssh root@my.machine screen "tail -f /var/log/messages"
Run Code Online (Sandbox Code Playgroud)

(作为示例)不起作用,并给出

Must be connected to a terminal.
Run Code Online (Sandbox Code Playgroud)

我希望 ssh 在屏幕下启动命令,以便我稍后登录并附加到我将手动启动的屏幕会话。

ssh terminal gnu-screen tty

63
推荐指数
3
解决办法
8万
查看次数

标签 统计

gnu-screen ×10

linux ×6

ssh ×3

unix ×2

console ×1

nohup ×1

stdin ×1

sudo ×1

terminal ×1

tty ×1

vnc ×1