nohup

Use SSH to start a background process on a remote server, and exit session

混江龙づ霸主 提交于 2019-12-20 10:18:45
问题 I am using SSH to start a background process on a remote server. This is what I have at the moment: ssh remote_user@server.com "nohup process &" This works, in that the process does start. But the SSH session itself does not end until I hit Ctr-C. When I hit Ctr-C, the remote process continues to run in the background. I would like to place the ssh command in a script that I can run locally, so I would like the ssh session to exit automatically once the remote process has started. Is there a

Getting sudo and nohup to work together

若如初见. 提交于 2019-12-20 09:47:52
问题 Linux newbie here. I have a perl script which takes two command line inputs. I tried to run it in the background but this is what I got: [~user]$ nohup sudo ./ascii_loader_script.pl 20070502 ctm_20070502.csv & [2] 19603 [~user]$ nohup: appending output to `nohup.out' after the system returns "nohup: appending output to `nohup.out'", no new prompt will appear. Then as long as I type in some other command, the shell will tell me that the process is stopped: [~user]$ nohup sudo ./ascii_loader

动态清空 nohup 输出文件

人走茶凉 提交于 2019-12-18 09:46:56
【推荐】2019 Java 开发者跳槽指南.pdf(吐血整理) >>> Linux下用nohup运行程序的, 输入或者日志会 默认写入nohup.out,一段时间以后, nohup.out 文件会越来越占空间,如果在程序运行过程中删除 nohup.out ,容易出错,有一种比较稳妥的解决办法: cat /dev/null > nohup.out 或者 cp /dev/null nohup.out 可以用上面的命令清空nohup.out文件,如果想保留原文件,可以先copy一份。 cp nohup.out nohup_bak.out 然后再清空 nohup.out 来源: oschina 链接: https://my.oschina.net/u/142179/blog/99061

Monit bundle exec rails s

大憨熊 提交于 2019-12-18 09:25:44
问题 I have the following shell script that allows me to start my rails app, let's say it's called start-app.sh : #!/bin/bash cd /var/www/project/current . /home/user/.rvm/environments/ruby-2.3.3 RAILS_SERVE_STATIC_FILES=true RAILS_ENV=production nohup bundle exec rails s -e production -p 4445 > /var/www/project/log/production.log 2>&1 & the file above have permissions of: -rwxr-xr-x 1 user user 410 Mar 21 10:00 start-app.sh* if i want to check the process I do the following: ps aux | grep -v grep

云服务器后台运行程序

99封情书 提交于 2019-12-17 05:15:51
nohup和&后台运行,进程查看及终止 1.nohup 用途:不挂断地运行命令。 语法:nohup Command [ Arg … ] [ & ]   无论是否将 nohup 命令的输出重定向到终端,输出都将附加到当前目录的 nohup.out 文件中。   如果当前目录的 nohup.out 文件不可写,输出重定向到 $HOME/nohup.out 文件中。   如果没有文件能创建或打开以用于追加,那么 Command 参数指定的命令不可调用。 退出状态:该命令返回下列出口值:      126 可以查找但不能调用 Command 参数指定的命令。      127 nohup 命令发生错误或不能查找由 Command 参数指定的命令。      否则,nohup 命令的退出状态是 Command 参数指定命令的退出状态。 2.& 用途:在后台运行 一般两个一起用 nohup command & eg: 1 nohup /usr/local/node/bin/node /www/im/chat.js >> /usr/local/node/output.log 2>&1 & 进程号7585 查看运行的后台进程 (1)jobs -l jobs命令只看当前终端生效的,关闭终端后,在另一个终端jobs已经无法看到后台跑得程序了,此时利用ps(进程查看命令) (2)ps -ef 1 ps

linux后台执行命令:&和nohup

旧街凉风 提交于 2019-12-16 21:53:27
当我们在终端或控制台工作时,可能不希望由于运行一个作业而占住了屏幕,因为可能还有更重要的事情要做,比如阅读电子邮件。对于密集访问磁盘的进程,我们更希望它能够在每天的非负荷高峰时间段运行(例如凌晨)。为了使这些进程能够在后台运行,也就是说不在终端屏幕上运行,有几种选择方法可供使用。 & 当在前台运行某个作业时,终端被该作业占据;可以在命令后面加上& 实现后台运行。 例如:sh test.sh & 适合在后台运行的命令有f i n d、费时的排序及一些s h e l l脚本。在后台运行作业时要当心:需要用户交互的命令不要放在后台执行,因为这样你的机器就会在那里傻等。不过,作业在后台运行一样会将结果输出到屏幕上,干扰你的工作。如果放在后台运行的作业会产生大量的输出,最好使用下面的方法把它的输出重定向到某个文件中: command > out.file 2>&1 & 这样,所有的标准输出和错误输出都将被重定向到一个叫做out.file 的文件中。 PS:当你成功地提交进程以后,就会显示出一个进程号,可以用它来监控该进程,或杀死它。(ps -ef | grep 进程号 或者 kill -9 进程号) nohup 使用&命令后,作业被提交到后台运行,当前控制台没有被占用,但是一但把当前控制台关掉(退出帐户时),作业就会停止运行。nohup命令可以在你退出帐户之后继续运行相应的进程

linux 启动后台服务 nohup >/dev/null

北战南征 提交于 2019-12-16 21:12:24
【推荐】2019 Java 开发者跳槽指南.pdf(吐血整理) >>> linux重定向 0、1和2分别表示标准输入、标准输出和标准错误信息输出,可以用来指定需要重定向的标准输入或输出。 在一般使用时,默认的是标准输出,既1.当我们需要特殊用途时,可以使用其他标号。例如,将某个程序的错误信息输出到log文件中:./program 2>log。这样标准输出还是在屏幕上,但是错误信息会输出到log文件中。 另外,也可以实现0,1,2之间的重定向。2>&1:将错误信息重定向到标准输出。 /dev/null Linux下还有一个特殊的文件/dev/null,它就像一个无底洞,所有重定向到它的信息都会消失得无影无踪。这一点非常有用,当我们不需要回显程序的所有信息时,就可以将输出重定向到/dev/null。 如果想要正常输出和错误信息都不显示,则要把标准输出和标准错误都重定向到/dev/null, 例如: # ls 1>/dev/null 2>/dev/null 还有一种做法是将错误重定向到标准输出,然后再重定向到 /dev/null,例如: # ls >/dev/null 2>&1 注意:此处的顺序不能更改,否则达不到想要的效果,此时先将标准输出重定向到 /dev/null,然后将标准错误重定向到标准输出,由于标准输出已经重定向到了/dev/null,因此标准错误也会重定向到/dev

nohup 配置不输出日志信息的方法及linux重定向学习

ⅰ亾dé卋堺 提交于 2019-12-16 20:47:59
【推荐】2019 Java 开发者跳槽指南.pdf(吐血整理) >>> 起因 最近使用nohup创建了一个后台进程,默认日志输出到了nohup.out文件中,程序跑起来也就没再管, 过了大约一周,发现硬盘空间不够了,于是查找原因,发现这个nohup.out文件已经到了70G了,导致硬 盘空间不足了。 解决方案 只输出错误信息到日志文件 nohup ./program >/dev/null 2>log & 什么信息也不要 nohup ./program >/dev/null 2>&1 & 知识补充,关于Linux的重定向 Linux的3中重定向 0:表示标准输入 1:标准输出,在一般使用时,默认的是标准输出 2:标准错误信息输出 可以用来指定需要重定向的标准输入或输出。例如,将某个程序的错误信息输出到log文件 中:./program 2>log。这样标准输出还是在屏幕上,但是错误信息会输出到log文件中。另外,也可 以实现0,1,2之间的重定向。2>&1:将错误信息重定向到标准输出。 关于/dev/null文件 Linux下还有一个特殊的文件/dev/null,它就像一个无底洞,所有重定向到它的信息都会消失得无影 无踪。这一点非常有用,当我们不需要回显程序的所有信息时,就可以将输出重定向到/dev/null。 来源: oschina 链接: https://my.oschina

linux重定向及nohup不输出的方法

北城余情 提交于 2019-12-16 20:44:37
【推荐】2019 Java 开发者跳槽指南.pdf(吐血整理) >>> linux重定向及nohup不输出的方法 先说一下linux重定向: 0、1和2分别表示标准输入、标准输出和标准错误信息输出,可以用来指定需要重定向的标准输入或输出。 在一般使用时,默认的是标准输出,既1.当我们需要特殊用途时,可以使用其他标号。例如,将某个程序的错误信息输出到log文件中:./program 2>log。这样标准输出还是在屏幕上,但是错误信息会输出到log文件中。 另外,也可以实现0,1,2之间的重定向。2>&1:将错误信息重定向到标准输出。 Linux下还有一个特殊的文件/dev/null,它就像一个无底洞,所有重定向到它的信息都会消失得无影无踪。这一点非常有用,当我们不需要回显程序的所有信息时,就可以将输出重定向到/dev/null。 如果想要正常输出和错误信息都不显示,则要把标准输出和标准错误都重定向到/dev/null, 例如: # ls 1>/dev/null 2>/dev/null 还有一种做法是将错误重定向到标准输出,然后再重定向到 /dev/null,例如: # ls >/dev/null 2>&1 注意:此处的顺序不能更改,否则达不到想要的效果,此时先将标准输出重定向到 /dev/null,然后将标准错误重定向到标准输出,由于标准输出已经重定向到了/dev/null

Linux 进程后台运行的方法

删除回忆录丶 提交于 2019-12-16 18:41:21
【推荐】2019 Java 开发者跳槽指南.pdf(吐血整理) >>> 当用户注销(logout)或者网络断开时,终端会收到 HUP(hangup)信号从而关闭其所有子进程。因此,我们的解决办法就有两种途径:要么让进程忽略 HUP 信号,要么让进程运行在新的会话里从而成为不属于此终端的子进程。 nohup nohup 的用途就是让提交的命令忽略 hangup 信号。 nohup 的使用是十分方便的,只需在要处理的命令前加上 nohup 即可,标准输出和标准错误缺省会被重定向到 nohup.out 文件中。一般我们可在结尾加上"&"来将命令同时放入后台运行,也可用">filename 2>&1"来更改缺省的重定向文件名。 [root@pvcent107 ~]# nohup ping www.ibm.com & setsid setsid 可以让进程忽略HUP信号,做到命令后台执行的效果。 setsid 的使用也是非常方便的,也只需在要处理的命令前加上 setsid 即可。 如果我们未加任何处理就已经提交了命令,该如何补救才能让它避免 HUP 信号的影响呢? 可以通过作业调度和 disown 来解决这个问题。 用disown -h jobspec来使某个作业忽略HUP信号。 用disown -ah 来使所有的作业都忽略HUP信号。 用disown -rh