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

在python脚本中执行shell命令的方法

在python脚本中执行shell命令的方法 最近在写python的一些脚本,之前使用python都是在django中使用,可能大部分内容都是偏向于后端开发方面的,最近在写一些脚本的时候,发现了...使用Python处理一个shell命令或者一个执行一个shell脚本,一般情况下,有下面三种方法,下面我们来看: 第一种方法是使用os.system的方法 os.system("cmd") 我们在当前目录下面创建一个...shell命令打印出来aaa.sql中的内容,然后下面出现的数字0代表上述命令执行成功;如果我们打印bbb.sql则返回值是256,表示执行中出现了问题。...,当然,我们也可以使用下面的方法来分别校验aaa.sql文件是否存在,以及查看aaa.sql的执行结果: 1[root@ /data]$python 2Python 2.7.15 (default, Nov...第三种方法是使用popen函数 os.popen() 返回的是 file read 的对象,对其进行读取 read() 的操作可以看到执行的输出 1[root@ /data]$python 2Python

5.3K00
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    在windows程序中嵌入Lua脚本引擎--建立一个简易的“云命令”执行的系统

    在《在windows程序中嵌入Lua脚本引擎--使用VS IDE编译Luajit脚本引擎》开始处,我提到某公司被指责使用“云命令”暗杀一些软件。...(转载请指明出于breaksoftware的csdn博客)         首先我们思考下“云指令”的优点: 1 一次性执行,在客户端几乎无法得知其被执行的证据。...在CS体系结构中,如果我们要完成某个业务需求,往往要修改二进制文件,并发布到客户端。这样,我们在客户端的副本将有机会去执行相关逻辑。...这是为了简易,如果想搞的复杂,可以考虑让服务器下发地址或者直接下发命令。           我在服务端保存的是一个简易的Lua脚本。...该脚本使用了ffi库,即让我们可以像使用C语言一样写Lua脚本,这个也是令人非常激动的一点。

    1.6K20

    shell | 不同执行方式的区别

    /filename、source filename 这四种执行方式 source filename 可以使用 . filename 代替,在当前的 bash 环境下读取并执行脚本文件中的命令,且脚本文件的变量.../三种方式都使用了子 bash 环境,所以无法获取父 bash 环境的变量 # ./ 方式需要脚本有执行权限 [root@lvbibir ~]# sh test.sh [root@lvbibir ~].../test.sh 同理,使用 source 或者 . 也可以在 bash 环境中获取到脚本中设置的变量 [root@lvbibir ~]# cat > test.sh << EOF > #!.../test.sh mysqld 27396 27397 29426 新开一个终端,查看进程 第一个pid是在子shell中执行监控脚本的进程号 第二个pid不太清楚哪里来的,也grep不到这个进程号,...应该是脚本执行一瞬间就释放掉了 第三个pid是mysql实际运行中的进程号 实际中脚本的pid和mysqld的pid顺序不太一样,取决于pid的大小 在脚本再添加个 grep 过滤掉脚本本身的进程来规避这个问题

    57610

    awk权威指南之 终结篇!

    前段时间看了一下awk的使用选项,字段变量,标准变量,操作运算符,正则表达式,数组和控制流,并且也附带着一些相关的案例,总的来说,在深入了解和使用AWK之后,还是带来了很多的便利,在处理文本的文件的时候提供了更多的思路和便捷...,比如按需自定义打印文本显示格式,进行一些简单的数据处理,同时awk还有和shell,python,go一些编程语言类似的循环,条件,逻辑处理,以及一些内置的函数更方便的帮助在命令行完成一些文本处理工作...向右移位操作 or 按位或操作 xor 按位异或操作 其他函数 delete 被用于从数组中删除元素 exit 该函数终止脚本执行。...这种重定 向方式会打开一个管道,将对象的值通过管道传递给管道另一端的进程,然后管道另一端的进程执行命令 awk 'BEGIN { print "hello, world !!!"...第二条语句 print 为 tr 命令提供输入。&| 表示双向通信。 第三条语句 close(cmd, "to") 执行后关闭 to 进程。

    86110

    Django+Vue项目学习第八篇:Django项目部署到服务器

    TCP *:irdmi (LISTEN) 使用ps命令,直接查python进程如下 [root@ALI-PRD00370-APP-D2 DataFactory]# ps -aux | grep python3...-APP-D2 DataFactory]# vi stop.sh 之前杀死进程时,分了2步来执行:先查到进程id,再杀死进程 如果要写到shell脚本中,我们需要获取到进程id,然后把它传给kill命令...,可以通过awk命令获取到具体的进程id,如下 [root@ALI-PRD00370-APP-D2 DataFactory]# ps -aux | grep /bin/python3 |grep -v...|grep -v grep |awk '{print$2}' |xargs kill -9 所以stop.sh中输入以下内容 ps -aux | grep /bin/python3 |grep -v...grep |awk '{print$2}' |xargs kill -9 echo "杀死Django进程" 最后给文件赋予执行权限 [root@ALI-PRD00370-APP-D2 DataFactory

    1.8K20

    【SQL Server】在 SSMS 中 使用 生成 SQL 脚本 方式 实现 数据库 备份 还原 ( 数据备份操作 - 生成 SQL 脚本 | 数据还原操作 - 执行 SQL 脚本 )

    SSMS 进行数据库备份 ; 使用的原理是 将数据库中的 数据 生成为 SQL 脚本 ( 几万条 SQL 语句 ) , 还原数据库的时候 , 先 TRUNCATE 清空表 , 然后再执行上述生成的 SQL...脚本 ; 2、数据备份操作 - 生成 SQL 脚本 右键点击 数据库 , 选择 " 任务 / 生成脚本 " ; 弹出生成脚本对话框 , 点击 " 下一步(N) " 按钮 , 进行下一步操作 ; 在该步骤中...SQL 语句 , 执行前要删除数据库中的对应表 , 使用 TRUNCATE TABLE table_name; 删除数据库表即可 ; 架构和数据 : 指的是 生成 建表 + 插入数据 的 SQL 语句...固态硬盘 , 上述操作 几秒 就可以完成 , 如果使用机械硬盘 , 可能需要几分钟 ; 在保存位置 查看生成的脚本 ; 打开该文件 , 发现这就是一个文本文件 , 首先使用 USE database_name...脚本加载到 SSMS 中 ; 在脚本中 , 右键点击空白处 , 在弹出的菜单中选择 " 执行 " 选项 , 即可执行 等待执行完毕即可完成数据还原操作 ;

    44710

    Shell脚本编程

    命令后面的数字 如果未给脚本指定退出状态码,整个脚本的退出状态码取决于脚本中执行的最后一条命令的状态 变量 变量命名 命名只能使用英文字母,数字和下划线,首字母不能以数字开头 中间不能够有特殊字符,可以使用.../bin/bash myUrl="http://www.google.com" readonly myUrl myUrl="http://www.runoob.com" 执行脚本后,显示只读变量无法修改...x name = “value” bash中有许多内建的变量环境:SHELL,PATH等等 局部变量:生效范围为当前shell进程中某代码片断(通常指函数) 位置变量: 2…来表示,让脚本在脚本代码中调用通过命令行传递给它的参数...当n>=时,需要使用${n}来获取参数 调试脚本 -x : 在执行时显示参数和命令; +x:禁止调试 -v:当命令行进行读取时显示输入; +v:禁止打印输入。...使用source命令 案例,开机显示系统信息脚本 #!

    2.1K20

    企业安全建设之基于Redis未授权访问的挖矿蠕虫分析

    Redis 的备份配置文件命令,将相关内容写入 /var/spool/cron/root 文件中。...借此使用计划任务执行命令, 其中` */1 * * * *` 指的是每分钟执行一次相关命令 整个python文件的作用就是蠕虫式传播,使用python对Redis未授权访问的利用,将挖矿文件传播给B段的...# 0x02 脚本解释 在挖矿脚本上加入了注释 ```shell #!/bin/bash。...#终止wnTKYg进程 终止以ddg*为前缀的进程 删除/tmp/ddg* 为前缀的文件 删除/tmp/wnTKyg文件 &&先成功执行前面的命令在执行后面的命令 rm -rf /boot/grub/deamon...函数)并执行 `top() 函数` 以 so 文件劫持 (/etc/ld.so.preload) 的方式执行挖矿木马,是更隐蔽的执行方式 `python() 函数` 蠕虫式传播,使用python对Redis

    1.1K20

    shell脚本学习材料

    sudo tee %命令就不用烦恼了,这个牛逼的命令我就是在commandlinefu上学会的, 也是我至今觉得最酷的一个命令。...我第一次写一个较复杂的脚本的时侯,用到了多进程,需要在主进程里面等待子进程结束。当时我的做法 是记录下子进程的pid(sleep 10 &; pid= $!)...,然后使用while 循环判断进程是否结束(kill -s 0 $pid),进程少还行,子进程多了一后就没法这么干了。 其实有一个很好也很方便的做法,使用wait命令即可。...我第一次写一个较复杂的脚本的时侯,用到了多进程,需要在主进程里面等待子进程结束。当时我的做法 是记录下子进程的pid(sleep 10 &; pid= $!)...,然后使用while 循环判断进程是否结束(kill -s 0 $pid),进程少还行,子进程多了一后就没法这么干了。 其实有一个很好也很方便的做法,使用wait命令即可。

    1.7K40

    ❤️肝下25万字的《决战Linux到精通》笔记,你的Linux水平将从入门到入魔❤️【建议收藏】

    在top命令执行后,可以按下按键得到对显示的结果进行排序: 按键 含义 M 根据内存使用量来排序 P 根据CPU占有率来排序 T 根据进程运行时间的长短来排序 U 可以根据后面输入的用户名来筛选进程 K...使用格式: kill [-signal] pid 信号值从0到15,其中9为绝对终止,可以处理一般信号无法终止的进程。...使用scp命令要确保使用的用户具有可读取远程服务器相应文件的权限,否则scp命令是无法起作用的。...30 6 */10 * * ls 每月的1、11、21、31日是的6:30执行一次ls命令 环境变量问题: 有时创建了一个crontab,但是这个任务却无法自动执行,而手动执行这个任务却没有问题,这种情况一般是由于在...break命令允许跳出所有循环(终止执行后面的所有循环)。 下面的例子中,脚本进入死循环直至用户输入数字大于5。要跳出这个循环,返回到shell提示符下,需要使用break命令。 #!

    2.3K10

    Linux下获取进程的PID

    Linux系统中常常需要获取进程的pid进行一些操作,而Linux 的交互式 Shell 与 Shell 脚本存在一定的差异,主要是由于后者存在一个独立的运行进程,因此在获取进程 pid 上二者也有所区别...ps 命令ps命令是最常用的Linux命令之一,用于获取当前系统中的进程信息,ps是显示瞬间进程的状态,并不动态连续;如果想对进程进行实时监控应该用top命令。...交互式 Shell 获取 pid在ps命令的基础上,如果我们知道进程的name,那么可以利用grep来获取其pid(需要通过-v来过滤掉grep本身),并通过awk显示出来。...,可以直接使用pidof:`pidof name`Bash Shell 脚本获取进程 pid在使用 Shell 脚本获取进程 pid 时,如果直接使用上述命令,可能会出现多个 pid 结果,例如:#!...$pid执行 process-monitor.sh 会出现多个结果:$> sh process-monitor.sh3036 3098 3099进一步排查可以发现,多出来的几个进程实际上是子 Shell

    1.1K10

    101个shell脚本

    提示: 随机密码使用命令 mkpasswd 在脚本中给用户设置密码,可以使用echo 然后管道passwd命令 实现脚本如下: #!...,否则,函数返回一个51的错误值给调用脚本; 如果给的目录存在,则下载文件;下载命令执行结束后测试文件下载成功与否;如果成功,则>返回0给调用脚本,否则,返回52给调用脚本; 提示,在函数中返回错误值给调用脚本...52】判断用户登录 1 编写一个名为ifuser的程序,它执行时带用户名作为命令行参数,判断该用户是否已经在系统中登录,并给出相关信息。...给出一个进程PID,打印出该进程下面的子进程以及子进程下面的所有子进程。(只需要考虑子进程的子进程,再往深层次则不考虑) 参考代码: #!...97】重启tomcat服务 在生产环境中,经常遇到tomcat无法彻底关闭,也就是说用tomcat自带shutdown.sh脚本无法将java进程完全关掉。

    1.4K10

    30 分钟包你学会 AWK

    Read AWK从输入流(文件,管道或者标准输入)中读取一行,然后存储到内存中。 Execute 所有的AWK命令都依次在输入上执行。...基础语法 AWK的使用非常简单,我们可以直接在命令行中执行AWK的命令,也可以从包含AWK命令的文本文件中执行。 AWK命令行 我们可以使用单引号在命令行中指定AWK命令 ?...AWK程序文件 我们可以使用脚本文件提供AWK命令 ?...第三行用于在上面的语句close(cmd, “to”),在执行完成后关闭其to进程 第四行 cmd |& getline out使用getline函数存储输出到变量out中 最后一行使用close函数关闭命令...执行shell命令 在AWK中执行shell命令有两种方式 使用system函数 使用管道 使用system函数 system函数用于执行操作系统命令并且返回命令的退出码到awk。 ?

    1.1K30

    30 分钟包你学会 AWK

    Read AWK从输入流(文件,管道或者标准输入)中读取一行,然后存储到内存中。 Execute 所有的AWK命令都依次在输入上执行。...基础语法 AWK的使用非常简单,我们可以直接在命令行中执行AWK的命令,也可以从包含AWK命令的文本文件中执行。...AWK命令行 我们可以使用单引号在命令行中指定AWK命令 AWK程序文件 我们可以使用脚本文件提供AWK命令 AWK标准选项 AWK支持下列命令行标准选项 -v 变量赋值选项 该选项将一个值赋予一个变量...第三行用于在上面的语句close(cmd, “to”),在执行完成后关闭其to进程 第四行 cmd |& getline out使用getline函数存储输出到变量out中 最后一行使用close函数关闭命令...执行shell命令 在AWK中执行shell命令有两种方式 使用system函数 使用管道 使用system函数 system函数用于执行操作系统命令并且返回命令的退出码到awk。

    1.1K70

    【Linux】《how linux work》第十一章 Shell 脚本简介

    但是,如果您要解析字符串、执行重复的算术计算、访问复杂的数据库,或者需要函数和复杂的控制结构,最好使用像Python、Perl或awk这样的脚本语言,或者甚至使用像C这样的编译语言。...在命令替换中很容易过度使用。 例如,在脚本中不要使用$(ls),因为使用shell来展开*会更快。...某些实用程序(如 basename)只有在与其他程序一起使用时才真正实用,因此在 shell 脚本之外并不常见。 不过,awk 等其他程序在命令行中也非常有用。...当你必须在大量文件上运行一条命令时,命令或 shell 可能会回应说,它的缓冲区无法容纳所有参数。 使用 xargs 可以解决这个问题,它可以在标准输入流中的每个文件名上运行一条命令。...Shell,将要由子Shell执行的命令放在括号中。

    17610

    三十分钟学会AWK

    Read AWK从输入流(文件,管道或者标准输入)中读取一行,然后存储到内存中。 Execute 所有的AWK命令都依次在输入上执行。...基础语法 AWK的使用非常简单,我们可以直接在命令行中执行AWK的命令,也可以从包含AWK命令的文本文件中执行。...,在某些场景下,你可能希望发送数据到另一个进程,然后从这个进程中读取处理后的结果, 这就用到了协同进程,我们可以使用|&打开一个双向管道。...第三行用于在上面的语句close(cmd, "to"),在执行完成后关闭其to进程 第四行 cmd |& getline out使用getline函数存储输出到变量out中 最后一行使用close函数关闭命令...执行shell命令 在AWK中执行shell命令有两种方式 使用system函数 使用管道 使用system函数 system函数用于执行操作系统命令并且返回命令的退出码到awk。

    1.6K10
    领券