Advertisement

解决Python中nohup命令无效的问题

  •  5星
  •     浏览量: 0
  •     大小:None
  •      文件类型:None


简介:
本文章介绍了解决在使用Python时nohup命令无法正常工作的常见问题及解决方案。文中详细说明了如何正确配置和运用nohup以使程序在后台持续运行,帮助开发者轻松应对相关挑战。 通过paramiko模块SSH登录Linux后,使用exec_command方法执行带有nohup的shell命令不生效。以下是Python脚本示例: ```python import paramiko import time ssh = paramiko.SSHClient() ssh.set_missing_host_key_policy(paramiko.AutoAddPolicy()) ssh.connect(192.168.1.2, 22, root, 123456) stdin, stdout, stderr = ssh.exec_command(nohup ping localhost &\n) time.sleep(1) ``` 在上述脚本中,尝试执行的命令没有达到预期效果。

全部评论 (0)

还没有任何评论哟~
客服
客服
  • Pythonnohup
    优质
    本文章介绍了解决在使用Python时nohup命令无法正常工作的常见问题及解决方案。文中详细说明了如何正确配置和运用nohup以使程序在后台持续运行,帮助开发者轻松应对相关挑战。 通过paramiko模块SSH登录Linux后,使用exec_command方法执行带有nohup的shell命令不生效。以下是Python脚本示例: ```python import paramiko import time ssh = paramiko.SSHClient() ssh.set_missing_host_key_policy(paramiko.AutoAddPolicy()) ssh.connect(192.168.1.2, 22, root, 123456) stdin, stdout, stderr = ssh.exec_command(nohup ping localhost &\n) time.sleep(1) ``` 在上述脚本中,尝试执行的命令没有达到预期效果。
  • Python paramiko模块nohup不生远程SSH执行
    优质
    本文章详细探讨了在使用Python的paramiko库进行远程SSH操作时遇到的一个常见问题:通过该库发送的nohup命令无法正常工作。我们将深入分析这个问题的原因,并提供有效的解决方案,帮助开发者顺利完成任务。 使用Python的paramiko模块远程执行SSH命令时遇到nohup不起作用的问题解决方法: 1. 使用paramiko模块通过SSH登录到Linux服务器并尝试运行带有nohup前缀的命令,发现该命令没有按预期生效。 以下是相关代码示例: ```python # 执行命令函数定义 def command(ssh_config, cmd, result_print=None, nohup=False): ssh = paramiko.SSHClient() ssh.set_missing_host_key_policy(paramiko.AutoAddPolicy()) ssh.connect(hostname=ssh_config.hostname, port=ssh_config.port, username=ssh_config.username, password=ssh_config.password) if nohup: cmd = nohup {} &.format(cmd) stdin, stdout, stderr = ssh.exec_command(cmd) # 获取命令执行结果 result = stdout.read().decode() if result_print is not None: print(result) return result ``` 确保在调用`command()`函数时将nohup参数设置为True,以使该功能生效。
  • nohup法将Python输出重定向至文件
    优质
    本文介绍了如何使用nohup命令运行Python脚本并将输出正确重定向到日志文件的方法,帮助用户解决在长时间运行任务中遇到的日志记录问题。 今天分享一篇关于解决nohup命令在将Python输出重定向到文件时不成功的问题的文章。该文章具有一定的参考价值,希望能对大家有所帮助。一起看看吧!
  • nohup析.txt
    优质
    本文档深入剖析了Linux系统中的nohup命令,解释其用途、用法及常见应用场景,帮助用户掌握如何在后台持续运行程序。 Linux nohup命令详解 nohup是Linux系统中的一个非常有用的命令行工具,它允许用户运行长时间持续的进程,并且在断开终端连接后仍然保持运行状态。 使用方法: ``` nohup command & ``` 参数解释: - `command`:要执行的应用程序或命令。 - `&`符号:将任务放在后台运行。 特点和注意事项: 1. 当用户注销或者关闭当前登录的会话时,nohup可以保证进程继续在系统中运行。如果未使用&号,则输出会被重定向到一个名为nohup.out文件里(默认情况下)。 2. 如果希望将程序的标准输出或标准错误写入自定义的日志文件,请添加如下参数:`nohup command > output.log 2>&1 &` 3. 若要杀死运行中的任务,可以使用ps命令查看进程ID然后用kill PID来结束。 总结: 通过利用nohup命令和重定向技术,在Linux环境下执行长时间或后台作业变得简单且高效。
  • Windows法运行WMIC.bat
    优质
    本教程提供了解决Windows系统中无法使用WMIC命令问题的方法和技巧,包含一个批处理文件(.bat)脚本,帮助用户轻松修复相关错误。 WMIC扩展了WMI(Windows管理工具),提供了从命令行接口和批处理脚本执行系统管理的支持。这个非常有用的命令可以用来修复wmic不能使用的问题。
  • Windows法使用WMIC脚本
    优质
    这段简介是关于一个专门用于修复在Windows操作系统下不能执行WMIC(Windows Management Instrumentation Command-line)命令问题的批处理脚本。该脚本旨在帮助用户快速诊断并解决相关技术难题,从而顺利进行系统管理和维护工作。 WMIC扩展了WMI(Windows管理工具),提供了从命令行接口和批处理脚本执行系统管理的支持。这个非常有用的命令可以用于修复wmic不能使用的问题。
  • Android 10Termux法使用termux-chroot
    优质
    本文介绍了在Android 10系统中,针对Termux用户遇到的“termux-chroot”命令失效问题,并提供了详细的解决方案。 这几天心血来潮去玩Termux,结果最难受的是突然发现termux-chroot命令无法使用。经过在网络上的搜索,终于在GitHub上找到了解决方案。 参考这个问题的讨论: 发现修改termux-chroot脚本后可以完美运行,废话不多说进入正题。 第一步:修改termux-chroot脚本 打开路径为`datadatacom.termuxfilesusrbintermux-chroot`的文件,并插入以下代码: ```bash # Android 10 needs apex for systembi ``` 完成以上步骤后,问题应该可以得到解决。
  • Shell脚本cd方法
    优质
    简介:本文介绍了在编写Shell脚本时遇到cd命令无法正常改变目录的问题,并提供了有效的解决方案。 在学习过程中,我常常需要切换到特定的文件夹,为此编写了一个shell脚本使用`cd`命令进行目录切换。然而,在执行该脚本后发现目录并没有如预期那样被成功切换。 以下是脚本代码: ```bash #!/bin/bash # c.sh cd /mnt/hgfs/vmshare pwd ``` 解释:当通过运行 `./c.sh` 来调用这个脚本时,系统会创建一个新的子shell来执行该命令。尽管在子shell中目录已经切换成功,并且使用了`pwd`命令验证这一点,但是由于子shell会在脚本完成后立即退出,因此这些更改不会反映到主shell环境中。 为了进一步确认这一现象: ```bash #!/bin/bash # c.sh history cd /mnt/hgfs/vmshare ls ``` 这个修改后的版本可以显示当前历史记录,并在指定目录下列出文件。然而,执行脚本后返回的仍然是原始的工作路径和环境设置,表明子shell中的变化并未影响到主shell。
  • Android SDK 2.3版本安装后adb方法
    优质
    本文章详细介绍了在安装了Android SDK 2.3版本之后遇到adb命令无法使用的情况,并提供了有效的解决方案。 使用方法: 1. 如果你是Windows XP操作系统,请将adb_win.zip 文件解压到tools目录下,然后在打开“运行”(cmd)输入adb命令,此时会显示有关adb命令的描述信息(环境变量需要配置好SDK tools路径)。 2. 如果你使用的是Linux操作系统,请将adb_linux.tar.gz文件解压到tools目录下,在终端中输入adb命令后会出现关于adb命令的相关说明信息。(环境变量同样要设置正确SDK工具路径)。 以上步骤适用于解决安装Android SDK 2.3版本时,遇到的adb命令无法正常工作的问题。在初次安装该版本的SDK过程中,我遇到了同样的困扰,并通过不懈努力找到了有效的解决方案。