AskOverflow.Dev

AskOverflow.Dev Logo AskOverflow.Dev Logo

AskOverflow.Dev Navigation

  • 主页
  • 系统&网络
  • Ubuntu
  • Unix
  • DBA
  • Computer
  • Coding
  • LangChain

Mobile menu

Close
  • 主页
  • 系统&网络
    • 最新
    • 热门
    • 标签
  • Ubuntu
    • 最新
    • 热门
    • 标签
  • Unix
    • 最新
    • 标签
  • DBA
    • 最新
    • 标签
  • Computer
    • 最新
    • 标签
  • Coding
    • 最新
    • 标签
主页 / unix / 问题

问题[nohup](unix)

Martin Hope
Dreamer
Asked: 2023-10-25 03:08:24 +0800 CST

脚本失败时如何避免 SSH 退出

  • 5

请原谅我基本的 unix/linux 脚本编写能力和糟糕的英语

我正在 Linux VM 中测试一个脚本,假设它是work.sh. 所以我必须 ssh 到虚拟机

ssh [email protected] 

有了我的访问权限,那么我需要在我的主文件夹中运行脚本

[[email protected] ~]. work.sh param1 param2

当批处理脚本中出现问题时,我可以看到错误,但也会被踢出 VM/ssh 会话

Connection to [email protected] closed.

所以我必须重新登录。

我尝试了 nohup,但我也喜欢将任何错误/日志输出到控制台。处理这种情况的更好方法是什么

nohup
  • 2 个回答
  • 56 Views
Martin Hope
RudolfSchmidt
Asked: 2020-02-10 19:45:40 +0800 CST

为什么 nohup 不适用于特定进程

  • 2

出于什么原因 nohup 不能在特定的内部开发流程上工作?

我使用它如下:

/usr/bin/nohup process_a &

我可以关闭执行它的终端,看看它仍在通过 ps 运行。但是,在注销并重新登录后,该过程不再运行。

我可以在不同的内部开发的 process_b 上运行相同的 nohup 命令,并且注销并重新登录不会结束该进程。它仍在运行。

我想知道 process_a 有什么“特别”之处,以至于它无法在注销并重新登录后幸存下来。进程 a 和 b 都打开一个 TCP 服务器套接字,并且还具有用于日志记录的打开文件描述符。

我试过使用 bash、tcsh 和 zsh shell,结果都一样。

出于什么原因,在 nohup 下运行的一个进程会在注销/登录后幸存下来,而另一个则不会?我假设开发人员可以更改代码中的某些内容。

我们在相当严格的环境中运行 RHEL 6(screen、tmux 等不是可用的替代品)。

更新:

process_a 在以下情况下幸存下来

杀死 -s HUP PID

因此在这种情况下,似乎通过 nohup 成功处理了 SIGHUP。它仍然在注销时死亡。

linux nohup
  • 2 个回答
  • 740 Views
Martin Hope
mahmood
Asked: 2020-01-01 02:58:25 +0800 CST

Nohup 在命令之前使用 shell 变量

  • 0

似乎nohup无法运行前面有环境变量的命令。例如,

nohup LD_PRELOAD=~/file.so ./run &

说

nohup: failed to run command 'LD_PRELOAD=/home/mahmood/file.so': No such file or directory

事实上,file.so存在但它不是命令。我该如何解决?

bash nohup
  • 1 个回答
  • 1424 Views
Martin Hope
piFAN
Asked: 2019-08-28 00:39:11 +0800 CST

nohup 退出并出现错误 125

  • 1

nohup尝试在后台启动 Python 脚本时以错误 125 退出,但在使用通配符时,指向同一个文件,nohup工作正常。

    root@rpi_2:/home/pi/shortcuts# nohup -c bash 'python /home/pi/shortcuts/python/garage_topbutton_aio_pir_v2.py' > /dev/null 2>&1 &
[1] 26261
root@rpi_2:/home/pi/shortcuts#
[1]+  Exit 125                nohup -c bash 'python /home/pi/shortcuts/python/garage_topbutton_aio_pir_v2.py' > /dev/null 2>&1

root@rpi_2:/home/pi/shortcuts# ls /home/pi/shortcuts/python/garage_topbutton_aio_pir_v2.py
/home/pi/shortcuts/python/garage_topbutton_aio_pir_v2.py

root@rpi_2:/home/pi/shortcuts# nohup bash -c 'python /home/pi/shortcuts/python/*pir*v2*' > /dev/null 2>&1 &
[1] 26304

root@rpi_2:/home/pi/shortcuts# ps topbutton
USER       PID %CPU %MEM  START   TIME STAT COMMAND
root     26304  0.1  0.6  10:27   0:00 S<l  python /home/pi/shortcuts/python/garage_topbutton_aio_pir_v2.py
root@rpi_2:/home/pi/shortcuts#

我很好奇,因为这从未发生过。

nohup exit
  • 1 个回答
  • 968 Views
Martin Hope
Chris
Asked: 2019-07-19 10:38:35 +0800 CST

ssh:订阅 nohup.out

  • 1

假设我在远程机器上启动了一个长时间运行的任务nohup:

nohup command &

有没有办法让我将内容流式传输nohup.out到终端ssh,使其在nohup.out发布时得到更新?

ssh nohup
  • 1 个回答
  • 121 Views
Martin Hope
user977828
Asked: 2019-03-16 07:25:46 +0800 CST

nohup:忽略输入并将输出附加到“nohup.out”

  • 0

我运行了以下命令

nohup conda activate shuffle_pair_end_reads && python3 shuffle_pair_end_reads.py \
    fastp-filtered-merged4racon/merge_R1.fq.gz \
    fastp-filtered-merged4racon/merge_R2.fq.gz \
    >fastp-filtered-merged4racon/merged_R1_R2.fa \
    2>merged_R1_R2.log &

但不幸的是,我在第二次输入后得到了这个

 nohup: ignoring input and appending output to 'nohup.out'

[1]+  Exit 1                  nohup conda activate shuffle_pair_end_reads && python3 shuffle_pair_end_reads.py fastp-filtered-merged4racon/merge_R1.fq.gz fastp-filtered-merged4racon/merge_R2.fq.gz > fastp-filtered-merged4racon/merged_R1_R2.fa 2> merged_R1_R2.log

我错过了什么?

先感谢您,

bash nohup
  • 1 个回答
  • 15500 Views
Martin Hope
Tim
Asked: 2018-11-27 13:40:54 +0800 CST

nohup 是否仅适用于 shell 进程的子进程,而不适用于非 shell 进程的子进程?

  • 1

nohup 是一个外部程序。它如何将shell进程的子进程的SIGHUP动作更改为“忽略”?(在子进程调用fork()和/或execve()在 nohup 之后的程序上的一些参数方面?)

nohup 是否仅适用于 shell 进程的子进程,而不适用于非 shell 进程的子进程?

谢谢。

nohup sighup
  • 1 个回答
  • 941 Views
Martin Hope
Tim
Asked: 2018-11-27 11:48:50 +0800 CST

`disown -h` 和 `nohup` 有效地工作相同吗?

  • 23

disown

  • 导致 shell 在 shell 终止时不发送 SIGHUP 到其不承认的作业,并且

  • 从 shell 的作业控制中删除不承认的作业。

第一个是第二个的结果吗?换句话说,如果从 shell 启动的进程以任何方式从 shell 的作业控制中删除,shell 是否不会在 shell 终止时向进程发送 SIGHUP?

disown -h 仍然将进程置于 shell 的作业控制之下。这是否意味着disown -h让进程仍然接收到从shell发送的SIGHUP,但是将进程的SIGHUP动作设置为“忽略”?这听起来类似于nohup。

$ sleep 123 & disown -h
[1] 26103
$ jobs
[1]+  Running                 sleep 123 &
$ fg 1
sleep 123
$ ^Z
[1]+  Stopped                 sleep 125
$ bg 1
[1]+ sleep 123 &
$ exit

$ ps aux | grep sleep
t        26103  0.0  0.0  14584   824 ?        S    15:19   0:00 sleep 123

如果我们忽略他们在使用终端方面的差异,是否可以有效地工作disown -h?nohup

谢谢。

bash nohup
  • 2 个回答
  • 6893 Views
Martin Hope
Manikandan Balasubramanian
Asked: 2018-05-29 23:25:10 +0800 CST

为什么 nohup 后台进程被杀死?

  • 12

我尝试通过远程会话启动一个 shell 脚本,它使用命令在后台启动一个进程。

nohup python3 run.py > nohup.out &

当远程会话关闭时,进程将被以下消息杀死:

捕捉到信号 SIGHUP

SIGHUP 被捕获但未被守护。退出。

我不明白; 为什么进程在后台使用nohup &启动时会被杀死?

background-process nohup
  • 1 个回答
  • 9239 Views
Martin Hope
glarry
Asked: 2018-02-02 04:03:12 +0800 CST

有时使用`read -t 3`代替`sleep 3`会很方便。我如何使它与`nohup`一起工作?

  • -1

有时使用它read -t 3代替sleep 3. 我如何使它与它一起工作nohup?

nohup bash -c ' date; read -t 3; date ' | tail -n 2 nohup.out

如您所见,read -t 3不等待三秒钟。

bash nohup
  • 1 个回答
  • 1151 Views

Sidebar

Stats

  • 问题 205573
  • 回答 270741
  • 最佳答案 135370
  • 用户 68524
  • 热门
  • 回答
  • Marko Smith

    模块 i915 可能缺少固件 /lib/firmware/i915/*

    • 3 个回答
  • Marko Smith

    无法获取 jessie backports 存储库

    • 4 个回答
  • Marko Smith

    如何将 GPG 私钥和公钥导出到文件

    • 4 个回答
  • Marko Smith

    我们如何运行存储在变量中的命令?

    • 5 个回答
  • Marko Smith

    如何配置 systemd-resolved 和 systemd-networkd 以使用本地 DNS 服务器来解析本地域和远程 DNS 服务器来解析远程域?

    • 3 个回答
  • Marko Smith

    dist-upgrade 后 Kali Linux 中的 apt-get update 错误 [重复]

    • 2 个回答
  • Marko Smith

    如何从 systemctl 服务日志中查看最新的 x 行

    • 5 个回答
  • Marko Smith

    Nano - 跳转到文件末尾

    • 8 个回答
  • Marko Smith

    grub 错误:你需要先加载内核

    • 4 个回答
  • Marko Smith

    如何下载软件包而不是使用 apt-get 命令安装它?

    • 7 个回答
  • Martin Hope
    user12345 无法获取 jessie backports 存储库 2019-03-27 04:39:28 +0800 CST
  • Martin Hope
    Carl 为什么大多数 systemd 示例都包含 WantedBy=multi-user.target? 2019-03-15 11:49:25 +0800 CST
  • Martin Hope
    rocky 如何将 GPG 私钥和公钥导出到文件 2018-11-16 05:36:15 +0800 CST
  • Martin Hope
    Evan Carroll systemctl 状态显示:“状态:降级” 2018-06-03 18:48:17 +0800 CST
  • Martin Hope
    Tim 我们如何运行存储在变量中的命令? 2018-05-21 04:46:29 +0800 CST
  • Martin Hope
    Ankur S 为什么 /dev/null 是一个文件?为什么它的功能不作为一个简单的程序来实现? 2018-04-17 07:28:04 +0800 CST
  • Martin Hope
    user3191334 如何从 systemctl 服务日志中查看最新的 x 行 2018-02-07 00:14:16 +0800 CST
  • Martin Hope
    Marko Pacak Nano - 跳转到文件末尾 2018-02-01 01:53:03 +0800 CST
  • Martin Hope
    Kidburla 为什么真假这么大? 2018-01-26 12:14:47 +0800 CST
  • Martin Hope
    Christos Baziotis 在一个巨大的(70GB)、一行、文本文件中替换字符串 2017-12-30 06:58:33 +0800 CST

热门标签

linux bash debian shell-script text-processing ubuntu centos shell awk ssh

Explore

  • 主页
  • 问题
    • 最新
    • 热门
  • 标签
  • 帮助

Footer

AskOverflow.Dev

关于我们

  • 关于我们
  • 联系我们

Legal Stuff

  • Privacy Policy

Language

  • Pt
  • Server
  • Unix

© 2023 AskOverflow.DEV All Rights Reserve