相关疑难解决方法(0)


如何在不杀死其子进程的情况下关闭终端(不先运行“screen”)?

有时我在 gnome-terminal 中运行一个应用程序,但后来我突然不得不重新启动 gnome 或其他东西。我想这个问题的答案也很有用,然后我想在发生某些事情的地方与 SSH 断开连接。

Gnome 的终端树如下所示:

gnome-terminal
    bash
        some-boring-process
Run Code Online (Sandbox Code Playgroud)

我可以bashgnome-terminal(或some-boring-process从 bash分离并将其输出重定向到某个地方)吗?如果我只是杀死gnome-terminalbash将被杀死以将其所有子进程

bash process kill terminal job-control

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

我正在使用`&`:为什么进程不在后台运行?

我知道我可以附加&到一个命令以在后台运行该进程。

我正在 SSH 进入 Ubuntu 12.04 框并运行 python 程序$python program.py &- 但是当我关闭终端窗口时,我收到一条消息,说关闭终端将终止正在运行的进程。

为什么是这样?我正在使用&符号在后台运行该进程。无论我是否通过 SSH 连接,我怎样才能让它运行?

shell ssh terminal background-process processes

32
推荐指数
2
解决办法
7万
查看次数

即使终端关闭,如何确保命令不被中断?

在 Linux 中。假设我想运行一个命令,它花费的时间太长。我只是想确保它完成了。如何?

command-line terminal exit background-process

20
推荐指数
4
解决办法
1万
查看次数

如何告诉正在运行的进程忽略 SIGHUP?

可能的重复:
如何在不终止其中运行的命令的情况下关闭终端?

我有一个运行 Debian Squeeze 的非常低端的“服务器”,我偶尔会通过 ssh 连接到它。系统往往很慢,例如运行apt-cache search可能需要半分钟。有时我发现我迫不及待地等待一个过程完成(我在我的笔记本电脑上,需要去某个地方)。

如果我最初使用nohup或 inside开始该过程screen,这将没有问题。但是,尽管我已注销,但如何让已经在运行的进程继续运行?

nohup logout

9
推荐指数
2
解决办法
1729
查看次数

尝试编写一个 shell 脚本来远程测试服务器,但是当我注销时它一直在 else 语句中

尝试在这里编写一个 shell 脚本,它不断测试我的服务器并在它出现故障时给我发送电子邮件。

问题是,当我从 ssh 连接注销时,尽管&在命令末尾运行它,例如./stest01.sh &,它会自动落入 else 并不间断地向我发送邮件,直到我再次登录并杀死它。

#!/bin/bash
while true; do
    date > sdown.txt ;
    cp /dev/null pingop.txt ;
    ping -i 1 -c 1 -W 1 myserver.net > pingop.txt &
    sleep 1 ;
    if
        grep "64 bytes" pingop.txt ;
    then
        :
    else
        mutt -s "Server Down!" myemail@address.com < sdown.txt ;
        sleep 10 ;
    fi
done
Run Code Online (Sandbox Code Playgroud)

linux grep shell-script ping bourne-shell

9
推荐指数
1
解决办法
939
查看次数

如何从终端启动 GUI 程序但在启动后关闭终端?

我喜欢从终端启动 GUI 程序,例如emacs myfile.txt. 但是这样做会使该进程打开一个终端窗口,所以现在有两个窗口供我跟踪。如果我关闭终端窗口,GUI 程序也会关闭。

我知道我可以运行exec cmdcmd我试图运行的命令在哪里,并在程序完成关闭终端窗口。但是我想在命令启动后关闭终端窗口。有没有办法做到这一点?

shell

7
推荐指数
1
解决办法
941
查看次数

从终端启动应用程序

可能的重复:
如何在不终止其中运行的命令的情况下关闭终端?

如何从终端启动 GUI 应用程序(例如 gedit)并一步将其从那里分离?

bash terminal

6
推荐指数
3
解决办法
5198
查看次数

启动独立进程

可能的重复:
如何在不终止其中运行的命令的情况下关闭终端?

如果我打开一个终端模拟器,输入firefox &然后关闭终端,它启动的进程 -Firefox- 会被杀死,因为它是它的子进程。

我怎样才能防止这种行为?

process

6
推荐指数
1
解决办法
3103
查看次数

当我退出 SSH 会话时,为什么会出现权限被拒绝错误?

我必须在大学的服务器上运行一些测试。我可以从办公室的桌面 ssh 访问服务器。我想在服务器上启动一个 python 脚本,该脚本将在周末运行多个测试。

办公室的桌面将在周末进入待机状态,因此即使 SSH 会话终止,该进程也必须继续在服务器上运行。

我知道nohupscreentmux,在这样的问题描述:

我现在正在做的是:

  • ssh username@server
  • tmux
  • python3 run_my_tests.py -> 这个脚本做了一堆subprocess.check_output其他脚本,这些脚本本身会启动一些 Java 进程。
  • 测试运行良好。
  • 我使用 Ctrl+B、D 并分离会话。
  • 这样做时,tmux attach我重新获得仍然运行良好的 tmux 会话,没有任何错误。我一直检查这个几分钟,测试运行良好。
  • 我关闭了 ssh 会话

在此之后,如果我通过 SSH 登录到服务器,我确实能够重新连接到正在运行的tmux会话,但是我看到的是:

Traceback (most recent call last):
  File "run_my_examples.py", line 70, in <module>
  File "run_my_examples.py", line 62, in run_cmd_aggr
  File "run_my_examples.py", line 41, in run_cmd …
Run Code Online (Sandbox Code Playgroud)

ssh permissions tmux afs kerberos

6
推荐指数
1
解决办法
4771
查看次数

即使注销,有没有办法让会话保持活动状态?

虽然我总是登录 CentOS 服务器进行模拟,但它让我想到:

为什么即使我的会话关闭,我也不能继续运行模拟?

我知道当会话结束或用户退出时,

会话生成的任何进程也将终止。

有没有办法让进程自己继续运行

即使会话已关闭?

-- 一个没有太多 Unix 背景的用户提出的一个愚蠢的问题:)

login session

2
推荐指数
1
解决办法
452
查看次数