位置: 编程技术 - 正文

Nodejs中调用系统命令、Shell脚本和Python脚本的方法和实例(nodejs 调用命令行)

编辑:rootadmin

推荐整理分享Nodejs中调用系统命令、Shell脚本和Python脚本的方法和实例(nodejs 调用命令行),希望有所帮助,仅作参考,欢迎阅读内容。

文章相关热门搜索词:nodejs调用c函数,nodejs调用go,nodejs调用npm命令,js调用nodejs写的代码,nodejs调用exe方法,nodejs 调用命令行,nodejs调用go,nodejs调用exe方法,内容如对您有帮助,希望把文章链接给更多的朋友!

每种语言都有自己的优势,互相结合起来各取所长程序执行起来效率更高或者说哪种实现方式较简单就用哪个,nodejs是利用子进程来调用系统命令或者文件,文档见 标准输入、标准输出及标准错误输出的接口。

NodeJS 子进程提供了与系统交互的重要接口,其主要 API 有:

标准输入、标准输出及标准错误输出的接口

child.stdin 获取标准输入 child.stdout 获取标准输出 child.stderr 获取标准错误输出 获取子进程的PID:child.pid 提供生成子进程的方法:child_process.spawn(cmd, args=[], [options]) 提供直接执行系统命令的方法:child_process.exec(cmd, [options], callback) 提供调用脚本文件的方法:child_process.execFile(file, [args], [options], [callback])提供杀死进程的方法:child.kill(signal='SIGTERM')

用实例来感受一下,很有意思的,呵呵~~

1、利用子进程调用系统命令(获取系统内存使用情况)

新建nodejs文件,名为cmd_spawn.js,代码如下:

下面是运行该脚本和直接运行命令'free -m'的结果,一模一样:

2、执行系统命令(child_process.exec())

这个我还是很常用的,功能感觉比上面的强大那么一点点。比如我很喜欢关注天气,现在我要curl一下天气的接口返回json格式的数据,可能我要对它进行一番操作,这里就打印出来不操作。

新建nodejs文件,名为cmd_exec.js:

来感受一下直接curl出来和通过运行脚本的出来的结果是一样一样的:

Nodejs中调用系统命令、Shell脚本和Python脚本的方法和实例(nodejs 调用命令行)

3、调用传参数的shell脚本(child_process.execFile())

这个要先准备个shell脚本,比如我要连到一台服务器,来修改它的密码,则我要提供IP,user,new pwd,old pwd,新建shell脚本文件change_password.sh:

然后我准备个nodejs文件来调用这个shell脚本,叫file_changepwd.js:

这里就不方便贴运行结果了,不过我可以用人格保证,它是经过测试的。

看过上面的,其实调用python脚本就没什么悬念了,本质上也就是执行命令。

4、调用python脚本(python脚本本身是传参数的)

这里插入一个题外话,下面这段是对python传参数的简单说明一下:

运行结果:

我也来准备一个nodejs文件来调用这个python脚本(我对py_test.py做了修改,见下面),file_python.js:

运行结果如下:

还是挺赞的,又为完成了一篇精致的博客。哈哈~~

Nodejs中读取中文文件编码问题、发送邮件和定时任务实例 关于nodejs读取中文文件真是折腾了不少时间,网上各种方案,最后没有一个适用我,好在解决了。下面的三个知识点都是从项目中抽出的,要单独运行

AngularJS + Node.js + MongoDB开发的基于高德地图位置的通讯录 一、闲扯有一天班长说了,同学们希望我开发一个可以共享位置的通讯录,于是自己简单设计了下功能。包括用户角色、发表微博、共享位置等等。这

node爬取微博的数据的简单封装库nodeweibo使用指南 一、前言就在去年月份,有个想法是使用node爬取微博的数据,于是简单的封装了一个nodeweibo这个库。时隔一年,没有怎么维护,中途也就将函数形式

标签: nodejs 调用命令行

本文链接地址:https://www.jiuchutong.com/biancheng/377940.html 转载请保留说明!

上一篇:nodejs中实现路由功能(nodejs 路由)

下一篇:Nodejs中读取中文文件编码问题、发送邮件和定时任务实例(nodejs 读取文件)

  • 安保服务税点
  • 电子承兑凭证
  • 套期会计新旧准则对比
  • 汇票委托书会计分录
  • 收到以前年度的政府补助会计分录
  • 冲减存货的会计分录
  • 企业所得税佣金扣除比例
  • 退货的发票还能查询到么
  • 海关证需要年检吗
  • 外聘人员需要扣个人所得税吗
  • 租赁费支出可以在税前扣除吗
  • 印花税要报吗
  • 未开票收入为负数如何写说明
  • 服务费专票普票
  • 汽车修理费入账
  • 运费发票备注栏样板
  • 房屋的折旧年限一般是多少年
  • 验资报告需要什么材料
  • 设备安装服务几个点
  • 其他债权投资发生减值会影响所有者权益总额吗
  • php7多线程
  • plugin.exe是什么进程
  • 板栗怎样保存1年不坏
  • php两种赋值方式
  • 混合筹资的定义
  • 购入固定资产的会计处理
  • php fpm原理
  • 学生兼职收入按什么交个税
  • vue状态管理有哪些
  • php实现留言板功能怎么用
  • 收到待报解预算收入怎么做账
  • yolov7训练自己的模型用 flask封装
  • 残保金政策建议
  • 农产品小规模纳税人
  • 自动驾驶 模块
  • php读取文件内容的方法和函数
  • 个体户开票超过10万怎么交税
  • 原版小说推荐
  • python send_from_directory
  • 向境外股东分配股息预提所得税
  • 发票系统技术维护费
  • 家庭保洁服务包括什么
  • 银行代发工资必须是本行的卡吗
  • 入股资金打入公司账户
  • 企业刚注册成功又要注销要什么手续
  • 购进的材料没有发票可以入库吗?
  • 企业会计制度对固定资产无入账价值怎么入账
  • 商贸企业固定资产折旧可以一次性扣除吗?
  • 新会计准则待摊费用还有吗
  • 开设明细账
  • 会计凭证会计账簿与账务处理程序
  • Windows 8.1下MySQL5.7 忘记root 密码的解决方法
  • windows vista安装光盘进入dos
  • 七彩虹主板 csm
  • win10系统升级后c盘满了
  • win10预览版选哪个
  • ubuntu每次开机都会进入grub
  • centos创建lv
  • win8打不开软件怎么解决
  • xp系统电脑开机密码忘记了
  • linux CentOS/redhat 6.5 LVM分区使用详解
  • 如何切换shell
  • 从哪里看windows是多少位的
  • linux page buffer cache深入理解
  • windows7开机提示盗版
  • linuxdhcp服务器管理与配置
  • 5.2光源
  • Building Unity3D Plugins for Android
  • nodejs创建vue
  • unity简单项目
  • javascript基础编程
  • unity3d怎么控制人物移动
  • nodejs处理excel
  • js window.screen
  • js 严格的迭代语句
  • java与android的区别
  • js数组的操作指令有哪些
  • 怎样查税务师事务所信息
  • 耕地被占用税怎么交
  • 请领导审核怎么说
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

    网站地图: 企业信息 工商信息 财税知识 网络常识 编程技术

    友情链接: 武汉网站建设