php执行shell不阻塞方法】的更多相关文章

大家都知道php执行系统命令的方法有: system() 输出并返回最后一行shell结果. exec() 不输出结果,返回最后一行shell结果,所有结果可以保存到一个返回的数组里面. passthru() 只调用命令,把命令的运行结果原样地直接输出到标准输出设备上. 这些方法都会等待命令执行完毕后才会继续执行后续的程序 不阻塞可以将命令输出的内容写入系统的一个回收站文件,这样程序就不会阻塞 例如: shell_exec("/usr/local/php/bin/php /www/t.php &…
Linux下有个脚本/home/start.sh,常用的两种执行方法如下: 1../start.sh.注意此时start.sh脚本文件必须有可执行权限-x.类似的有以绝对路径来执行:/home/start.sh. 2.使用bash或sh命令来执行shell脚本,将shell脚本当做参数传给bash或sh命令来执行,如sh start.sh.…
在分析数据时,经常会有许多机械重复的命令带入,作为一个半路出家的程序猿,我曾经对这种工作束手无策.不像一个熟手那样举重若轻的分析,感觉自己的生信分析完全是个体力活.为了打开这样的局面,我开始学习如何批量处理这些文件名格式差不多的文件. work_dir=/home/genomics/data/rice/variantcalling reference=/home/genomics/data/rice/ref-database/***** bwa_dir=$work_dir/resourses/a…
在Python中有一个模块commands也很容易做到以上的效果.看一下三个函数:1). commands.getstatusoutput(cmd)用os.popen()执行命令cmd, 然后返回两个元素的元组(status, result),其中 status为int类型,result为string类型.cmd执行的方式是{ cmd ; } 2>&1, 这样返回结果里面就会包含标准输出和标准错误. 2). commands.getoutput(cmd)只返回执行的结果, 忽略返回值. 3)…
这篇文章主要介绍了python中执行shell的两种方法,有两种方法可以在Python中执行SHELL程序,方法一是使用Python的commands包,方法二则是使用subprocess包,这两个包均是Python现有的内置模块.需要的朋友可以参考借鉴,下面来一起看看吧. 一.使用python内置commands模块执行shell commands对Python的os.popen()进行了封装,使用SHELL命令字符串作为其参数,返回命令的结果数据以及命令执行的状态: 该命令目前已经废弃,被s…
假设shell脚本文件为hello.sh放在/root目录下.下面介绍几种在终端执行shell脚本的方法: [root@localhost home]# cd /root/ [root@localhost ~]#vim hello.sh #!  /bin/bash cd /tmp echo "hello guys!" echo "welcome to my Blog:linuxboy.org!" 1.切换到shell脚本所在的目录,执行: [root@localho…
bash shell 脚本的方法有多种,现在作个小结.假设我们编写好的shell脚本的文件名为hello.sh,文件位置在/data/shell目录中并已有执行权限. 方法一:切换到shell脚本所在的目录(此时,称为工作目录)执行shell脚本: 复制代码 代码如下: cd /data/shell ./hello.sh ./的意思是说在当前的工作目录下执行hello.sh.如果不加上./,bash可能会响应找到不到hello.sh的错误信息.因为目前的工作目录(/data/shell)可能不在…
现在你可以看到它正常地处理了转义. 注意 实际上你也可以在shell=False那里直接使用一个单独的字符串作为参数, 但是它必须是命令程序本身,这种做法和在一个列表中定义一个args没什么区别.而如果当shell=False时候直接执行字符串命令,则会报错: >>> subprocess.Popen('echo "Hello world!"', shell=False)Traceback (most recent call last):File "<…
bash shell 脚本的方法有多种,现在作个小结.假设我们编写好的shell脚本的文件名为hello.sh,文件位置在/data/shell目录中并已有执行权限. 方法一:切换到shell脚本所在的目录(此时,称为工作目录)执行shell脚本: 复制代码 代码如下: cd /data/shell ./hello.sh ./的意思是说在当前的工作目录下执行hello.sh.如果不加上./,bash可能会响应找到不到hello.sh的错误信息.因为目前的工作目录(/data/shell)可能不在…
执行shell脚本的几种方法及区别 http://blog.csdn.net/lanxinju/article/details/6032368 (认真看) 注意:如果涉及到脚本之间的调用一定要用 . 来执行shell脚本. [root@bogon ~]# cat a.sh #!/bin/bashTang=Freddy[root@bogon ~]# sh a.sh [root@bogon ~]# echo $Tang [root@bogon ~]# . a.sh [root@bogon ~]# e…
bash shell 脚本的方法有多种,现在作个小结.假设我们编写好的shell脚本的文件名为hello.sh,文件位置在/data/shell目录中并已有执行权限. 方法一:切换到shell脚本所在的目录(此时,称为工作目录)执行shell脚本:此种方法为阿里云推荐 cd /data/shell ./hello.sh ./的意思是说在当前的工作目录下执行hello.sh.如果不加上./,bash可能会响应找到不到hello.sh的错误信息.因为目前的工作目录(/data/shell)可能不在执…
原文 http://www.jb51.net/article/55327.htm 最近有个需求就是页面上执行shell命令,第一想到的就是os.system, os.system('cat /proc/cpuinfo') 但是发现页面上打印的命令执行结果 0或者1,当然不满足需求了. 尝试第二种方案 os.popen() output = os.popen('cat /proc/cpuinfo') print output.read() 通过 os.popen() 返回的是 file read…
我们时常会与操作系统交互或在 Ruby 中执行 Shell 命令.Ruby为我们提供了完成该任务的诸多方法. Exec Kernel#exec 通过执行给定的命令来替换当前进程,例如: $ irb >> exec 'echo "hello $HOSTNAME"' hello codefun $ 注意 exec 利用 echo 命令替换了 irb 进程,然后退出.因为 Ruby 实际上结束了该方法,所以只能有限使用.该方法的缺点是,你无法从 Ruby 脚本中知道命令是执行成功…
使用vim创建一个shell文件,命名 hello.sh #!/bin/bash echo "hello shell !" 在linux中进行加载 chmod +x ./hello.sh  #使脚本具有执行权限 ./hello.sh         #执行脚本 方法2:以绝对路径的方式去执行bash shell脚本: 代码如下:  /data/shell/hello.sh 方法3:在当前的shell环境中执行bash shell脚本: 代码如下: cd /data/shell . he…
bash shell 脚本的方法有多种,假设我们编写好的shell脚本的文件名为hello.sh,文件位置在/data/shell目录中并已有执行权限. 方法一:切换到shell脚本所在的目录(此时,称为工作目录)执行shell脚本: 复制代码代码如下: cd /data/shell ./hello.sh ./的意思是说在当前的工作目录下执行hello.sh.如果不加上./   ,bash可能会响应找到不到hello.sh的错误信息.因为目前的工作目录(/data/shell)可能不在执行程序默…
转载:http://www.jb51.net/article/55327.htm python中执行shell命令的几个方法小结 投稿:junjie 字体:[增加 减小] 类型:转载 时间:2014-09-18 我要评论这篇文章主要介绍了python中执行shell命令的几个方法,本文一共给出3种方法实现执行shell命令,需要的朋友可以参考下 最近有个需求就是页面上执行shell命令,第一想到的就是os.system,复制代码 代码如下: os.system('cat /proc/cpuinf…
bash shell 脚本的方法有多种,现在作个小结.假设我们编写好的shell脚本的文件名为hello.sh,文件位置在/data/shell目录中并已有执行权限. 方法一:切换到shell脚本所在的目录(此时,称为工作目录)执行shell脚本: 复制代码 代码如下: cd /data/shell ./hello.sh ./的意思是说在当前的工作目录下执行hello.sh.如果不加上./,bash可能会响应找到不到hello.sh的错误信息.因为目前的工作目录(/data/shell)可能不在…
Java执行shell脚本并返回结果两种方法的完整代码 简单的是直接传入String字符串,这种不能执行echo 或者需要调用其他进程的命令(比如调用postfix发送邮件命令就不起作用) 执行复杂的shell建议使用String[]方式传递(对外可以封装后也传入String字符串). /** * 运行shell脚本 * @param shell 需要运行的shell脚本 */ public static void execShell(String shell){ try { Runtime.g…
Linux crontab 每5秒钟执行一次 shell 脚本 的方法 由于 Linux 的 crontab 的定时命令格式如下: minute hour day-of-month month-of-year day-of-week commands 意味着标椎定时任务中,最小定时周期是分钟. 但是,由于实际应用中,可能需要每5秒就要求执行某个shell脚本. 该如何实现呢? 本文中提供如下方式: 间隔调用shell命令 使用 crontab -e 命令编辑定时任务 实现每5秒定时执行脚本,cr…
Shell 脚本的执行方式通常有如下三种: (1)bash script-name 或者 sh script-name:(2)path/script-name或者./script-name:(3)sourcescript-name或者. script-name.下面,分别介绍下这三种方式的特点: (1)bash script-name或者sh script-name 这是当脚本文件本身没有可执行权限(即文件权限属性x位为-号)时常使用的方法,或者脚本文件开头没有指定解释器时需要使用的方法.推荐使…
原文地址: http://www.jb51.net/article/66824.htm 执行shell脚本有以下几种方式 ###1.相对路径方式,需先cd到脚本路径下 [root@banking tmp]# cd /tmp [root@banking tmp]# ./ceshi.sh ####脚本执行成功 ###2.绝对路径方式 [root@banking tmp]# /tmp/ceshi.sh ####脚本执行成功 ###3.bash命令调用 [root@banking /]# bash /t…
最近工作需求中 有遇到这个情况  在web端获取配置文件内容 及 往shell 脚本中动态传入参数 执行shell脚本这个有多种方法   最后还是选择了subprocess这个python标准库 subprocess这个模块可以非常方便的启动一个子进程,并且控制其输入和输出 Class Popen(args,bufsize = 0,executable=None,            stdin =None,stdout =None,stderr =None,            preex…
有时候我们需要调用系统命令执行一些东西,可能是为了方便,也可能是没有办法必须要调用.涉及执行系统命令的东西,则就不能做跨平台了,这和java语言的初衷是相背的. 废话不多说,java如何执行shell命令?自然是调用java语言类库提供的接口API了. 1. java执行shell的api 执行shell命令,可以说系统级的调用,编程语言自然必定会提供相应api操作了.在java中,有两个api供调用:Runtime.exec(), Process API. 简单使用如下: 1.1. Runti…
一.commands模块 1.介绍 当我们使用Python进行编码的时候,但是又想运行一些shell命令,去创建文件夹.移动文件等等操作时,我们可以使用一些Python库去执行shell命令. commands模块就是其中的一个可执行shell命令的库,commands模块是python的内置模块,共有三个函数: getstatus(file):返回执行 ls -ld file 命令的结果( -ld 代表的是仅列出指定目录的详细信息). getoutput(cmd):执行cmd命令,并返回输出的…
执行shell出现bad interpreter:No such file or directory linux执行shell出现bad interpreter:No such file or directory的原因是文件格式的问题.这个文件是在Windows下编写的.换行的方式与Unix不一样,但是在VI下面如果不Set一下又完全看不出来. 解决方法:1.上传到linux主机运行 chmod +x back ./back 错误提示如下:    bash: ./back : bad inter…
最新内容建议直接访问原文:http://www.trinea.cn/android/android-java-execute-shell-commands/ 主要介绍Android或Java应用中如何以默认用户或root用户执行Shell命令,ShellUtils的API介绍.使用及使用场景(如静默安装和卸载.修改hosts文件.拷贝文件).使用纯Java实现,所以对Java程序同样适用. 很多朋友在使用TrineaAndroidCommon@Github中的ShellUtils工具类了,那就大…
编写Shell程序 执行Shell程序 Shell程序有很多类似C语言和其他程序设计语言的特征,但是又没有程序语言那样复杂.Shell程序是指放在一个文件中的一系列Linux命令和实用程序.在执行的时候,通过Linux操作系统一个接一个地解释和执行每条命令.首先,来编写第一个Shell程序,从中学习Shell程序的编写.修改权限.执行过程. 2.1 编辑Shell程序 编辑一个内容如下的源程序,保存文件名为date,可将其存放在目录/bin下. [root@localhost bin]#vi d…
前言 此程序需要ganymed-ssh2-build210.jar包(下载地址:http://www.ganymed.ethz.ch/ssh2/) 为了调试方便,可以将\ganymed-ssh2-build210\src下的代码直接拷贝到工程里, 此源码的好处就是没有依赖很多其他的包,拷贝过来干干净净. 简介 目的:是执行远程机器上的Shell脚本;远程机器IP:***.**.**.***用户名:sshapp密码:sshapp登录后用pwd命令,显示当前目录为:/sshapp.在/sshapp/…
可以执行shell命令的相关模块和函数有: os.system os.spawn* os.popen*          --废弃 popen2.*           --废弃 commands.*      --废弃,3.x中被移除 上面这些命令,可以使用subprocess完美的实现,而且具有丰富的功能: call:   python3.5以下才有, python3.5及以上变成run方法 执行命令,返回状态码 >>> a = subprocess.call('whoami') h…
java  调用bash shell脚本阻塞的小问题的解决 背景 使用java实现的web端,web端相应用户的界面操作,使用java调用bash实现的shell脚本进行实际的操作,操作完成返回执行结果给web 界面显示. 现象: Java 进程阻塞.使用ps命令可以看到被调用的shell 的执行进程状态为S 分析 Shell子进程的状态是S 睡眠状态,也就是该进程在等待某个条件满足,方能继续执行. Java程序在调用Runtime.getRuntime().exec(jyName)之后,lin…