nohup运行scp命令的挂起与恢复

针对需要交互式输入信息的命令,我们可以发现nohup直接挂起这类命令会有无法执行的问题。

解决方法:ctrl+Z停止后台运行,bg %进程序号恢复运行。比如说:

x@01.00.00.00:~$ nohup scp -r -P ooo(端口号) ./folder/ y@01.00.00.00:~/folder > transfer.log
nohup: ignoring input and redirecting stderr to stdout
y@01.00.00.00's password:(输密码)
^Z
[15]+  Stopped                 nohup scp -r -P ooo /folder/ y@01.00.00.00:~/folder > transfer.log
x@01.00.00.00:~$ bg %15
[15]+ nohup scp -r -P ooo /folder/ y@01.00.00.00:~/folder > transfer.log

  • 3
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: 您好,nohup命令无法运行Java命令的可能原因有很多,需要具体分析。以下是一些可能的原因: 1. Java命令路径不正确:请确保Java命令的路径正确,可以通过which java命令查看Java命令的路径。 2. Java命令参数不正确:请确保Java命令的参数正确,例如-classpath参数是否正确设置。 3. nohup命令语法错误:请确保nohup命令的语法正确,例如nohup后面是否跟着正确的Java命令。 4. 权限问题:请确保当前用户有执行Java命令的权限。 希望以上信息能够帮助您解决问题。如果还有疑问,请随时提出。 ### 回答2: Nohup是一个Linux命令,它可以在后台执行一些长时间运行的进程。它的作用是在关闭终端或注销用户后依然保持运行,并将输出重定向到一个文件中。虽然Nohup可以运行大部分命令,但是它无法运行java命令的原因有以下几点: 1. Java命令需要使用交互式终端 Java命令是一个交互式命令,需要用户在终端上输入一些参数和选项来运行Java程序。由于Nohup是一个后台进程,它无法与用户进行交互,因此无法运行java命令。 2. Java命令需要指定classpath Java程序需要使用Java类库和依赖的其他库,这些库通常被打包在一个jar文件中,并需要指定在运行时的classpath中。由于Nohup无法指定classpath,因此无法正确运行Java程序。 3. Java命令需要使用Java虚拟机 Java程序需要使用Java虚拟机来运行,而Nohup并不支持直接启动Java虚拟机。因此,使用Nohup运行Java程序通常需要编写一个脚本或命令来启动Java虚拟机,并在其中指定classpath和其他参数。 综上所述,虽然Nohup是一个很有用的Linux命令,但它不适用于Java命令的执行。如需运行Java程序,需使用其他的Linux命令来完成。例如,可以使用nohup java -jar命令运行Java程序,并将输出重定向到指定的文件中。这样能够使得Java程序在后台长时间运行,不受终端的限制。 ### 回答3: Nohup是一种在Unix系统中运行命令时使用的工具,他可以使该系统不受用户注销或关闭终端而继续执行相应的进程。但是,在使用nohup运行Java命令时可能会遇到问题。 首先,要运行Java命令需要有Java环境变量,如果没有正确的设置环境变量,Java命令将无法被正确执行。 其次,Java允许程序在后台运行,而nohup也在后台运行,但是他们的后台环境是不同的,nohup加上&没有像Java那样在后台运行,这可能是导致Java命令无法成功运行的原因之一。 另外,如果Java命令使用了标准输入或输出,那么nohup会导致输出文件中不包含Java命令中输出的内容,这也会导致Java命令无法正常运行。 最后,可能是Java命令本身出了问题,比如Java版本不兼容或者Java命令在执行时读取到的文件有误,这也会导致nohup无法运行Java命令。 为了解决这些问题,我们可以尝试以下几种方法: 1. 确认Java环境变量是否正确设置; 2. 将Java命令加在nohup命令后面,如"nohup java xx"; 3. 尝试将Java命令中的标准输入或输出重定向到文件中; 4. 检查Java命令是否正确,例如检查Java版本兼容性等。 总之,nohup使用Java命令时需要注意以上问题,如果仍然无法解决,可以进一步查看nohup和Java命令的日志文件,或者咨询相关技术支持人员。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值