例如,此行失败:
$ nohup for i in mydir/*.fasta; do ./myscript.sh "$i"; done > output.txt&
-bash: syntax error near unexpected token `do
Run Code Online (Sandbox Code Playgroud)
什么是正确的方法呢?
我想运行这样的Java jar文件:
java -jar spider.jar
Run Code Online (Sandbox Code Playgroud)
如何在Windows上运行它?
在Linux上像这样:
nohup java -jar spider.jar > /var/tmp/spider.log 2>&1 &
Run Code Online (Sandbox Code Playgroud) 我正在尝试ssh到远程计算机并运行脚本,然后让脚本运行.下面是我的脚本.但是,当它运行时,脚本在计算机上成功运行,但ssh会话挂起.有什么问题?
ssh -x $username@$node 'rm -rf statuslist
mkdir statuslist
chmod u+x ~/monitor/concat.sh
chmod u+x ~/monitor/script.sh
nohup ./monitor/concat.sh &
exit;'
Run Code Online (Sandbox Code Playgroud) 所以我有一个脚本,我想以root身份运行,没有挂断和很好.我应该将命令放在什么顺序?
sudo nohup很好foo.bash&
要么
nohup很好sudo foo.bash&
等等
我怀疑这无关紧要,但希望得到一些真正了解的人的见解.
对于我的RubyOnRails-App,我必须在Capistrano部署结束时开始后台工作.为此,我在deploy.rb中尝试了以下内容:
run "nohup #{current_path}/script/runner -e production 'Scheduler.start' &", :pty => true
Run Code Online (Sandbox Code Playgroud)
有时它可以工作,但大多数情况下它不会启动过程(=未在ps -aux中列出).并且没有错误消息.没有nohup.out,不在主目录中,也不在rails app目录中.
我尝试在scheduler.rb而不是nohup中使用trap('SIGHUP','IGNORE'),但结果是一样的.
让它工作的唯一方法是删除":pty => true"并在"cap deploy"结束时执行手动Ctrl-C.但我不喜欢这个......
还有其他机会调用此Scheduler.start吗?或者获取更多错误消息?
我在服务器上使用Rails 2.3.2,Capistrano 2.5.8,Ubuntu Hardy
我有一个在Linux服务器上运行的代码.由于运行需要数小时,我必须使用nohup
以确保我的代码仍在运行,以防我失去与服务器的连接.因为我必须等待数小时才能看到结果,所以我定义了一个计数器来打印出代码的进度(%).如果我断开与服务器的连接或关闭终端,我可以看到代码仍在运行的唯一方法就是使用top
.有什么方法可以再次看到输出控制台(显示进度的消息)?
据我所知,从书籍和bash手册中可以看出.当用户从bash注销时,如果用户未使用nohup或disown,则用户启动的所有后台作业将自动终止.但今天我测试了它:
终端中有两个选项卡,其中一个我创建了一个名为test的新用户并以test身份登录
su - test
Run Code Online (Sandbox Code Playgroud)开始写一个剧本.
cat test.sh
#!/bin/bash
sleep 60
printf "hello world!!"
exit 0
./test.sh &
Run Code Online (Sandbox Code Playgroud)之后我退出测试并关闭了标签
这是怎么回事?
背景:我有一个长时间运行的脚本,它使数据库模式更改具有我希望在迁移后检查的输出.我想把它写到一个文件.
我一直在读关于nohup和屏幕的堆栈溢出.我已经尝试了两者并对两者都有顾虑.
他们说他们用过nohup
和腻子杀了这个过程.这怎么可能?我无法使用Mac OS X终端进行复制.
随着screen
我害怕键入exit,而不是CTRL + A,d的
此外,如果我在使用屏幕时退出终端应用程序,它似乎保持状态.
屏幕似乎是更好的解决方案,因为它真的很漂亮,你可以打开一堆它们并切换回状态.
在我的情况下你会推荐什么?我没有运行脚本一个月左右(当我有一个发布时).我是否应该更熟悉屏幕并坚持使用它?
我创建了一个将文件从一个文件夹移动到另一个文件夹的脚本。但由于原始文件夹是下载文件夹,我需要它始终在后台运行。
我还有一个标准的批处理文件,看起来像这样:
@py C:\\Python\Scripts\moveDLs.py %*
Run Code Online (Sandbox Code Playgroud)
我正在使用Windows 10。我找到了有关如何nohup
在批处理文件中使用的 Linux 和操作系统信息。有 Windows 版本吗?
如果有需要每次重新启动或打开PC时都执行脚本吗?
另外,当您设法使其永久化时,您如何终止该过程?
非常感谢
我有一个perl脚本,可以将ENV变量设置为指向特定输出,例如$ debug,$ verbose,$ develop等
通常我从命令行运行它们
$ VERBOSE=1 perl myperlscript.pl params
Run Code Online (Sandbox Code Playgroud)
我现在想用nohup来运行它们.使用命令行
$ nohup VERBOSE=1 perl myperlscript.pl params
Run Code Online (Sandbox Code Playgroud)
显然是不对的,因为设置ENV {VERBOSE}的尝试被解释为nohup的一个参数并且我获得了msg
nohup:无法运行命令`VERBOSE = 1':没有这样的文件或目录
这里的语法是什么?我试图在Linux机器上运行它.
nohup ×10
bash ×3
linux ×3
shell ×2
terminal ×2
unix ×2
background ×1
capistrano ×1
gnu-screen ×1
nice ×1
python ×1
ssh ×1
sudo ×1
windows ×1