首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

shell脚本后台运行

使用&符号在后台执行命令 你可以在Linux命令或者脚本后面增加&符号,从而使命令或脚本在后台执行,例如:. $ ./my-shell-script.sh & 2....使用nohup在后台执行命令 使用&符号在后台执行命令或脚本后,如果你退出登录,这个命令就会被自动终止掉。要避免这种情况,你可以使用nohup命令,如下所示: $ nohup ..../my-shell-script.sh & 3. 使用screen执行命令 通过nohup和&符号在后台执行命令后,即使你退出登录,这个命令也会一直执行。...使用at将一个命令作为批处理执行 使用at命令,你可以让一个命令在指定的日期和时间运行,例如要在明天上午10点在后台执行备份脚本,执行下面的命令: $ at -f backup.sh 10 am tomorrow

4.2K50
您找到你想要的搜索结果了吗?
是的
没有找到

Java中运行shell脚本

落地实现 (1)直接执行shell命令(参数为命令) ShellUtils.exceShell("ls -l /"); package com.example.portinterpretationplugin.utils...= exitValue) { System.out.println("call shell failed. error code is :" + exitValue); }...br.close(); } catch (Exception e) { e.printStackTrace(); } return result; } } 前提是:你的脚本有权限去运行...,即在linux上有权限去运行,否则不通; 如果不满足,如果不满足,下下策为执行脚本之前先执行以下赋予权限的命令 ,在执行你的命令 ShellUtils.exceShell("chmod -R 777...(在jar包里) (1)复制sh到操作系统的某个目录下(亲测,可用) jar包内复制文件到系统目录内_CBeann的博客-CSDN博客_java将jar包中文件复制到 (2)用方式二执行脚本

15810

Centos7 使用alias别名执行shell脚本

频繁需要执行以下两个命令,如下: mkdir -p /yourpath chmod 700 /yourpath 简化这两个步骤的思路也不难,基本上操作如下: 将步骤写成一个shell,丢到/usr/bin.../,允许全局执行即可 另一种方式则是采用alias来别名指定执行命令 这两种方式都不错,下面来演示一下使用alias的方式。...首先写一个shell,达到上面的执行效果 我在 /work/sh 路径下,创建一个 cmkdir 的shell文件 #!...cmkdir(){ mkdir -p $dir chmod 700 $dir } main(){ cmkdir } main 并且设置可执行权限 chmod +x cmkdir 设置alias的别名方式...sh]# cd ~ # 查看隐藏文件,可以看到 .bashrc 文件 [root@dev ~]# ls -a # 编辑 .bashrc 文件 [root@dev ~]# vim .bashrc # 增加别名配置

1.9K20

4、shell脚本后台运行知识

用途和方法 在实际工作中,一般会通过ssh连接服务器,隐藏可能就会有脚本或命令在执行期间不能中断的需求,若中断,则不仅前功尽弃,还可能破坏系统数据,下面是防止脚本执行终端的3种方法: 1)使用sh /server.../scripts/while_01.sh & 命令,即使用&在后台运行脚本 2)使用nohup /server/scripts/while_01.sh & 命令,即使用nohup加&在后台运行脚本 3)...使用screen保持会话,然后在执行命令或脚本,即使用screen保持当前会话状态 2.脚本前台后台运行命令 命令 命令说明 a.sh & 将a.sh放到后台执行,常用 ctrl+c 停止当前前台脚本或任务...ctrl+z 暂停当前前台脚本或任务 bg (background)把当前前台脚本或任务放到后台运行 fg (frontground)把后台脚本或任务放到前台执行,用fg加任务编号调出指定任务,如fg...2 jobs 查看当前执行的脚本或任务 kill 关闭执行的脚本任务,kill %1 3.

2.4K20

Shell 脚本中调用另一个 Shell 脚本的三种方式

运行的时候 terminal 会新开一个子 Shell 执行脚本 foo.sh,子 Shell 执行的时候, 父 Shell 还在。子 Shell 执行完毕后返回父 Shell。...fork fork 方式可以看出,两个脚本都执行了,运行顺序为1-2-1,两者的PID值(1.sh PID=82266, 2.sh PID=82267),可以看出,两个脚本是分成两个进程运行的。...exec exec 方式运行的结果是,2.sh 执行完成后,不再回到 1.sh。运行顺序为 1-2。pid值看,两者是在同一进程 PID=82287 中运行的。 source ?...source source方式的结果是两者在同一进程里运行。该方式相当于把两个脚本先合并再运行。...参考: 在shell脚本中调用另一个脚本的三种不同方法(fork, exec, source)

4.3K20

Shell脚本调用另一个脚本的三种方法

使用sh命令来调用另外的脚本和前面两种方法有着本质的区别。使用sh命令则会开启新的Shell进程来执行指定的脚本,这样的话,父进程中的变量在子进程中就无法访问。...(2)临时环境变量:使用export命令行声明即可,变量在shell脚本进程结束后仍然有效,但在关闭当前shell会话后失效。...(3)全局变量:在脚本中定义,仅在当前Shell脚本中有效,其他Shell脚本进程不能访本,其作用域定义的位置开始,到脚本结束或被显示删除的地方为止。...注意,全局变量既可以在Shell函数内定义,也可以在shell函数外定义,因为shell函数内定义的变量默认为global,且作用域“函数被调用时执行变量定义的地方”开始,到脚本结束或被显示删除的地方为止...在shell脚本中函数内显示使用local关键字定义的变量。其作用域局限于函数内。同名local变量会屏蔽global变量。

12K50

02 Aug 2019 docker运行shell脚本问题

这里有2个文件,分别是dockerfile和shell脚本,dockerfile的主要功能就是将shell脚本复制到容器中运行shell脚本只有一个echo语句,表示脚本运行完毕。...shell脚本,没有任何问题。...下面我修改一下shell脚本,在顶部添加一句注释,然后再build镜像并运行容器: $ cat Dockerfile FROM alpine COPY test.sh /test.sh CMD ["...但是我们发现,这里并没有什么二进制文件,只有一个shell脚本。于是,我使用指定的cmd再次运行docker: $ docker run -it demo sh / # ....如果docker直接运行shell脚本,且脚本顶部不是正确的shebang的话,就会出现这种错误。这是最近工作中遇到的一个小问题,当时由于环境复杂,没有及时定位出原因。

30630

怎么正经的实现shell脚本单例运行

假设你的一个脚本已经在运行了,如果避免再次被执行呢?也就是如何实现单例运行? 看起来可行的方法 一个非常简单的思路就是,新的脚本被执行时,先检测当前脚本是否有其他实例正在运行,如果有则直接退出。 #!...test.sh脚本数,如果大于1,说明已经有在运行的了。...原因在于,shell脚本中一个命令执行相当于fork了一个进程执行,这里执行的是查找tesh.sh并grep的程序,另外还有一个就是当前运行脚本程序,这样的方式自然就会出现每次都有两个了。...文件锁 实际上这种方法你已经在《如何让你的程序同时只有一个在运行》介绍过了,只不过之前是用于编写C/C++程序,而这里是用于shell脚本。.../test.sh already running 由于已经有实例在运行,发现新的程序无法运行了。而等旧的脚本运行完之后,新的就可以运行了。

2.2K20

Linux系统shell脚本编写及定时每周期运行

Linux运维包括编写linux shell脚本,并定时让shell脚本自动运行流程,适用于新手。...注意:脚本是以.sh结尾的文件,脚本文件保存位置放哪都可以,但要知道路径,后续添加定时任务的时候需要用到。下面开始shell脚本编写到自动定时运行的教程。...一:编写shell脚本 命令:vi name.sh 编辑你的shell脚本 二:开启定时服务 命令:service crond start 编辑完成后开启定时服务,一般是默认开启的 三:编辑添加定时任务...命令:crontab -e 例如:让此脚本每10分钟运行一次,则写入如下内容: */10 * * * * name.sh 斜杠“/”后面的*号含义是:分钟 小时 天 月 周,然后跟上要运行脚本名字即可

3.4K10
领券