zoukankan      html  css  js  c++  java
  • Linux 后台执行脚本命令

           1.在下达的命令后面加上&,就可以使该命令在后台进行工作,这样做最大的好处就是不怕被ctrl+c这个中断指令所中断。

      2. 那大家可能又要问了,在后台执行的程序怎么使它恢复到前台来运行呢?很简单,只用执行fg这个命令,就可以了。

      3.可能有些同学又要问了,我现在已经在前台运行的命令,我能把它放到后台去运行么?当然可以了,只要执行ctrl+z就可以做到了。是不是很赞啊!

      4.说到这里可能有些同学又要问了,如果我有多个进程在后台运行,那如何恢复到前台来执行呢?这时候就要用到jobs这个命令了,通过jobs这个命令,能够列出所有在后台执行的进程,那个中括号([ ])里面的数字就是 jobs 的代号啰 ,通过fg %number 就可以恢复指定的后台进程.

      使用nohup让程序在远程主机后台运行

      因为我购买的一个国外主机居然开放了Telnet权限,因此我也使用Telnet登录上去玩玩Linux,但发现一关闭窗口就自动和主机断开了,和的终端不一样,所以就上网找啊找,找到了一个从后台一直运行某个程序的方法。

      Unix/Linux下一般比如想让某个程序在后台运行,很多都是使用 & 在程序结尾来让程序自动运行。比如我们要运行mysql在后台:

      /usr/local/mysql/bin/mysqld_safe –user=mysql &

      但是加入我们很多程序并不象mysqld一样做成守护进程,可能我们的程序只是普通程序而已,一般这种程序使用 & 结尾,但是如果终端关闭,那么程序也会被关闭。但是为了能够后台运行,那么我们就可以使用nohup这个命令,比如我们有个test.php需要在后台运行,并且希望在后台能够定期运行,那么就使用nohup:

      nohup /root/test.php &

      提示:

      [~]$ appending output to nohup.out

      嗯,证明运行成功,同时把程序运行的输出信息放到当前目录的 nohup.out 文件中去。

      附:nohup命令参考

      nohup 命令

      用途:不挂断地运行命令。

      语法:nohup Command [ Arg ... ] [ & ]

      描述:nohup 命令运行由 Command 参数和任何相关的 Arg 参数指定的命令,忽略所有挂断(SIGHUP)信号。在注销后使用 nohup 命令运行后台中的程序。要运行后台中的 [...]

      1. 后台运行的两个命令 & 和 ctr+z

      一开始就+“&”具体方法是: [命令]空格[&]

      比如:

      [root@pcmxexweb etc]# find / -name xml &

      这样,这个查找程序就会在后台运行。它运行的同时不影响你干别的事情。

      但是有的时候忘记了在命令之后加上‘&’符号,又不愿意停下此命令重新改写。这是可以按[ctrl+z],把当前程序切入后台。

      [root@pcmxexweb etc]# find / -name xml

      /etc/xml

      /usr/lib64/python2.4/xml

      /usr/share/vim/vim70/autoload/xml

      /usr/share/hplip/data/xml

      /usr/share/java-utils/xml

      /usr/share/xml

      /usr/share/doc/libvorbis-devel-1.1.2/xml

      /usr/local/apache-tomcat-6.0.14/webapps/examples/jsp/xml

      /webapp/web/jsp/xml

      [root@pcmxexweb etc]# find / -name xml

      /etc/xml

      /usr/lib64/python2.4/xml

      /usr/share/vim/vim70/autoload/xml

      /usr/share/hplip/data/xml

      /usr/share/java-utils/xml

      /usr/share/xml

      [1]+ Stopped                 find / -name xml

      但是要注意此时在后台的这个程序是处于 Stopped 状态(注意看上面最后一行)。

      用jobs查看下后台运行程序。

      [root@pcmxexweb etc]# jobs

      [1]- Stopped                 find / -name xml

      [2]+ Stopped                 vi /etc/hosts

      可以用命令bg 2。效果和一开始就用find / -name xml&是一样了,让此命令在后台运行了。

      2.把后台程序调回前台

      根据jobs的显示,配合使用fg 2 就把对应的程序调回前台了。


    总结:

    将命令后台执行的方法有两种,①使用&符号,在执行命令的时候追加到命令的最后;②在没有使用&符号的情况下执行了命令后,可以先使用Ctrl + Z 将命令切换到后台,并配合使用 jobs 命令查看后台进程的唯一标识([这里是标识]),最后运行 bg 后台进程标识 命令,这样就可以让此命令在后台运行了,效果同①。

    如果想将后台进程调回前台,则运行 fg 后台进程标识  命令就可以了。

  • 相关阅读:
    奇数
    简单的登录基于代码的
    偶数
    寻找特定的值
    'k1': 大于66的所有值, 'k2': 小于66的所有值
    差数和
    day1
    页面滑动监听
    jq的ajax初级使用
    在vue中引入swiper
  • 原文地址:https://www.cnblogs.com/yjtx/p/4429614.html
Copyright © 2011-2022 走看看