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

java调用外部应用程序

最近因为需要做视频文件转换,在网上找了下,比较多推荐是使用ffmpeg来实现,于是准备在java语言基础上去实现,经过分析其实就是调用ffmpeg提供应用命令去完成。...\bin"): CreateProcess error=2, 系统找不到指定文件。...by: java.io.IOException: CreateProcess error=2, 系统找不到指定文件。...回过头来看看,刚exec方法,主要是三个参数: 命令以及参数 start dir;explore dir等 运行环境,解析${} 工作目录,按照我理解应该相当于cmd中cd到目录进行执行程序 那到底是什么原因导致无法找到...最后其实在ffmpeg命令前添加 cmd /c 即可,但是百度cmd /c 主要作用是在执行脚本时保持关闭当前窗口。具体是什么原因导致这样差别而引起程序运行怪异现象?

3.5K70

python中执行shell命令几个方

但是无法读取程序执行返回值) 适用于Python2 尝试第三种方案 commands.getstatusoutput() 一个方法就可以获得到返回值和输出,非常好用。...shell命令,可以是字符串或者序列类型(如:list,元组) bufsize 指定缓冲。...0 无缓冲,1 行缓冲,其他 缓冲区大小,负值 系统缓冲 stdin, stdout, stderr 分别表示程序标准输入、输出、错误句柄 preexec_fn 只在Unix平台下有效,...用于指定一个可执行对象(callable object),它将在子进程运行之前被调用 close_sfs 在windows平台下,如果close_fds被设置为True,则新创建子进程将不会继承父进程输入...universal_newlines 不同系统换行符不同,True -> 同意使用 \n startupinfo 只在windows下有效,将被传递给底层CreateProcess()

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

记一次在Windows10桌面环境搭建Jekins吐血经历

然后执行如下命令打包程序:tar czvf xxx.tar.gz xxx,该命令在Cygwin命令行界面执行是没有任何问题,但是到Jenkin中执行时就会报错: Caused: java.io.IOException...: Cannot run program "sh" 显然,Windows下shell环境是cmd.exe,而上述打包命令并不能直接运行。...踩坑2文件上传 程序打包完毕之后,需要上传到远程主机。 在Linux主机之间传输文件通常通过scp命令实现,于是我也想在Windows上使用scp来做这个事情。...却意外地报错了: ssh_init: Network error: Cannot assign requested address Build step 'Execute shell' marked build...解决办法是通过pscp选项参数-hostkey明确指定远程主机指纹信息(这个指纹信息就是上述错误信息中提示一段十六进制串:74:3b:39:b1:c3:e8:6c:a2:88:46:b1:46:dd

1.7K10

windows文件在另一程序打开_windows程序设计第7版

指定该参数后运行起来程序不一定能按照指定参数显示,只是通知程序显示状态。...错误如下: 0 系统内存或资源不足 ERROR_FILE_NOT_FOUND 找不到指定文件 ERROR_PATH_NOT_FOUND 找不到指定路径 ERROR_BAD_FORMAT .exe...SE_ERR_DDEFAIL DDE事务失败 SE_ERR_DDETIMEOUT 请求超时,无法完成DDE事务请求 SE_ERR_DLLNOTFOUND 未找到指定dll SE_ERR_FNF...未找到指定文件 SE_ERR_NOASSOC 未找到与给文件拓展名关联应用程序,比如打印不可打印文件等 SE_ERR_OOM 内存不足,无法完成操作 SE_ERR_PNF 未找到指定路径...NULL, SW_NORMAL);//打开指定文件,将调用默认处理程序打开 if (ret < 32) MessageBox(_T("ERROR")); ret =

65910

WinExec, ShellExecute, CreateProcess

若函数调用失败,则返回值为下列之一:   ① 0:系统内存或资源已耗尽。   ② ERROR_BAD_FORMAT:EXE文件无效(非Win32.EXE或.EXE影像错误)。   ...③ ERROR_FILE_NOT_FOUND:指定文件找到。   ④ ERROR_PATH_NOT_FOUND:指定路径未找到。   ...该命令命令解释程序提出打开、浏览或打印文档或文件请求,虽然可以用ShellExecute运行程序,但通常只发送文档名,而命令解释程序则决定要运行那个程序。...若函数调用失败,则返回值为下列之一:   ① 0:系统内存或资源已耗尽。   ② ERROR_BAD_FORMAT:EXE文件无效(非Win32.EXE或.EXE影像错误)。   ...③ ERROR_FILE_NOT_FOUND:指定文件找到。   ④ ERROR_PATH_NOT_FOUND:指定路径未找到

1.3K20

Windows黑客编程技术详解 --第四章 木马启动技术(内含赠书福利)

值 含 义 0 系统内存或资源不足 ERROR_BAD_FORMAT exe文件无效 ERROR_FILE_NOT_FOUND 找不到指定文件 ERROR_PATH_NOT_FOUND 找不到指定路径...2.ShellExecute函数 运行一个外部程序(或者是打开一个已注册文件、目录,或打印一个文件等),并对外部程序进行一定程度控制。...返回值 如果函数成功,则返回大于32值。如果该函数失败,则它将返回一个错误值,指示失败原因。 3.CreateProcess函数 创建一个新进程及主线程。新进程在调用进程安全上下文中运行。...要运行批处理文件,必须启动命令解释程序,并将lpApplicationName设置为cmd.exe。 lpCommandLine [in, out, optional] 要执行命令行。...直接运行上述程序程序提示1.exe、2.exe以及3.exe进程成功创建并运行,如图4-1所示。

3.6K50

python中subprocess

字符串将被视为只有一个字符串序列(程序执行)。 在UNIX上,shell= True:如果参数是一个字符串,它指定了通过shell执行命令字符串。...如果参数是一个序列,第一项指定命令字符串,其他将被视为附加shell命令参数。 在Windows:Popen类通过使用CreateProcess()执行这个子进程来对字符串操作。...一个负bufsize意味着使用这个系统默认情况下,这通常意味着完全缓冲。默认值为bufsize是0(无缓冲)。 stdin、stdout和stderr分别指定执行程序标准输入,标准输出和标准错误。...如果close_fds 为True,所有的文件描述符除了0、1和2都会在子进程执行之前关闭。 如果shell是True,将通过shell执行指定命令。..., popen2 也可以在没有shell介入情况下直接传递给程序以序列形式执行命令行.

1.6K30

一文吃透Linux提权

这些特权可用于删除文件,查看私人信息或安装不需要程序,例如病毒。通常,当系统存在允许绕过安全性错误或对使用方法设计假设存在缺陷时,通常会发生这种情况。...特权提升是利用操作系统或软件应用程序错误,设计缺陷等等来获得对通常受到应用程序或用户保护资源更高访问权限行为。...内核漏洞 以root身份运行程序 已安装软件 弱密码/重用密码/纯文本密码 内部服务 Suid配置错误 滥用sudo权利 由root调用可写脚本 路径配置错误 Cronjobs 卸载文件系统 0x002...sh –我们可以从nmap shell转到系统shell msf中模块为: exploit/unix/local/setuid_nmap 较新版可使用 —script 参数: echo “os.execute...Cron特权升级概述 cron守护程序计划在指定日期和时间运行命令。它与特定用户一起运行命令。因此,我们可以尝试滥用它来实现特权升级。

5.4K42

关于WinExec和System比较

若函数调用失败,则返回值为下列之一:   ① 0:系统内存或资源已耗尽。   ② ERROR_BAD_FORMAT:EXE文件无效(非Win32.EXE或.EXE影像错误)。   ...③ ERROR_FILE_NOT_FOUND:指定文件找到。   ④ ERROR_PATH_NOT_FOUND:指定路径未找到。   ...虽然Microsoft认为WinExec已过时,但是在许多时候,简单WinExec函数仍是运行程序最好方式。...该命令命令解释程序提出打开、浏览或打印文档或文件请求,虽然可以用ShellExecute运行程序,但通常只发送文档名,而命令解释程序则决定要运行那个程序。...下面程序有控制台程序示例,其使用两种不同方法,打开文本文件。下面程序使用WinExec,并明确指定使用记事本程序。然后,使用ShellExecute,打开文本文件

97620

vc++ 在程序运行另一个程序方法

在vc++ 程序运行另一个程序方法有三个: WinExec(),ShellExcute()和CreateProcess() 三个SDK函数: WinExec,ShellExecute ,CreateProcess...,串中包含将要执行应用程序命令行(文件名加上可选参数)。   ...若函数调用失败,则返回值为下列之一:   ① 0:系统内存或资源已耗尽。   ② ERROR_BAD_FORMAT:EXE文件无效(非Win32.EXE或.EXE影像错误)。   ...③ ERROR_FILE_NOT_FOUND:指定文件找到。   ④ ERROR_PATH_NOT_FOUND:指定路径未找到。   ...该命令命令解释程序提出打开、浏览或打印文档或文件请求,虽然可以用ShellExecute运行程序,但通常只发送文档名,而命令解释程序则决定要运行那个程序

3.7K90

解决libsubprocess.py, line 997, in _execute_child startupinfo) FileNotFoundError

file specified这个错误通常发生在Windows系统上,它表示​​subprocess​​无法找到指定文件。...命令错误: 如果你在使用​​subprocess​​执行一个命令时出现了该错误,可能是因为系统无法找到命令。请确保你输入是正确命令,并且该命令系统中是可执行。...环境变量问题: 在某些情况下,系统环境变量配置可能导致​​subprocess​​无法找到文件。检查你环境变量设置,确保路径包含所需文件命令。...如果可能,试着使用绝对路径来指定文件。检查权限: 如果你需要执行一个需要管理员权限命令,尝试以管理员身份运行脚本或命令。 如果上述步骤没有解决问题,你可能需要进一步调查错误具体原因。...=None)​​:运行指定命令,并返回其输出结果。​​

58820

Linux crond 不执行原因分析

为了定时监控Linux系统CPU、内存、负载使用情况,写了Linux Shell脚本,当达到一定值得时候,定时发送邮件通知。...可是,通过手动执行Shell脚本命令(./mimvp-email.sh)是正常,因为手动执行脚本可以默认获取Linux环境变量,但通过Crontab做定时任务,则无法获取环境变量。...cmd1 is executed, if it fails, then cmd3 (cmd2 won't be executed) 9、如果遇到shell语法错误 Syntax error: "(" unexpected...解决方法: 需指定shell解释器命令SHELL=/bin/bash(请参见上面 crontab编辑示例 SHELL=/bin/bash) 或者参见: LINUX - BASH Syntax Error...如果遇到路径错误 在 /var/spool/crontab/yanggang 中,添加了如下命令,在日志文件 /var/spool/mail/yanggang 中提示找不到 xxx.sh 路径 30

6.2K110

腾讯云大数据套件Hermes-MR索引插件使用总结

需要注意是插件支持指定被索引文件字段分隔符。配置项为higo.input.record.split和higo.input.record.ascii.split。...[图片] 2.运行插件 执行命令:在插件主目录下(其中labcluster为HDFSnn通过做HA名称): sh bin/submit_index_job.sh \ clk_tag_info_test...bin/submit_index_job.sh表名 数据时间(时间分区) 源数据在HDFS上地址(单文件或目录) 索引输出HDFS目录 schema文件在HDFS地址(需手动创建上传) 主键 索引分片数...根据错误提示缺少找到对应jar包,添加到$HERMES_INDEX_MR_HOME/lib目录,重复此操作,直到不再提示缺少类错误。...查看具体异常里面用到变量有$PWD,$JAVA_HOME,${hdp.version}和$HADOOP_CONF_DIR以上变量在hadoop配置文件找到逐个替换为实际值而不用变量直到错误提示不再出现

2.6K60

Springboot项目使用java -jar 启动jar包参数详解

模式,特点是启动速度比较快,但运行时性能和内存管理效率不高,通常用于客户端应用程序或开发调试,在 32 位环境下直接运行 Java 程序默认启用该模式。...sh ~/cleanup.sh” MyApp 其他补充说明: shell命令重定向绑定: nohup command >/dev/null 2>&1 & /dev/null 2>&1。...这是因为采用这种写法,标准输出和错误输出会抢占往out文件管道,所以可能会导致输出内容时候出现缺失、覆盖等情况。现在是出现了乱码,有时候也有可能出现只有error信息或者只有正常信息情况。...不管怎么说,采用这种写法,最后情况是无法预估。 而且,由于out文件被打开了两次,两个文件描述符会抢占性文件中输出内容,所以整体IO效率不如>/dev/null 2>&1来得高。...2.& 用途:在后台运行 一般两个一起用 我们经常使用nohup command &命令形式来启动一些后台程序,比如一些java服务: #nohup java -jar xxxx.jar & 为了不让一些执行信息输出到前台

5.1K30

1.12 进程注入ShellCode套接字

它通过在每次程序运行时随机地分配内存地址,使得攻击者难以确定内存地址位置,从而难以实现攻击。...修改int ProcessID并改为被注入进程PID=4016,然后直接运行注入程序,则读者会看到被注入进程弹出了一个MessageBox提示框,则说名我们自定义Shell已经注入成功并运行了;...,要实现正向Shell,一般而言攻击者会创建一个监听指定端口网络套接字,并将其绑定到一个命令行解释器(如 cmd.exe)标准输入和输出流上,这样攻击者即可通过这个管道来使用远程CMD命令行,并以此达到控制对方目的...调用CreateProcess()函数启动cmd.exe进程,并将标准输入、输出和错误流重定向到新创建套接字上。...当有连接请求时,使用 CreateProcess 函数创建一个进程,并将标准输入、输出和错误重定向到网络套接字,实现远程 Shell

23640

K8S Pod 内抓包快速定位网络问题

当通过检查配置与日志无法排查错误时,这时就需要抓取网络数据包,但是Pod内一般不会安装tcpdump命令,那有没有方法可以直接通过宿主机抓取Pod网络数据包?...如果指定了file,则进入file命名空间 -G, --setgid gid:设置运行程序gid -S, --setuid uid:设置运行程序uid -r, --root[=directory]...Linux在不断添加命名空间,目前有: mount:挂载命名空间,使进程有一个独立挂载文件系统,始于Linux 2.4.19 ipc:ipc命名空间,使进程有一个独立ipc,包括消息队列,共享内存和信号量...nsenter nsenter 命令相当于在setns之上做了一层封装,使我们无需指定命名空间文件描述符,而是指定进程号即可。...指定进程号PID以及需要进入命名空间后,nsenter会帮我们找到对应命名空间文件描述符/proc/PID/ns/FD,然后使用该命名空间运行程序

5.4K1916

1.12 进程注入ShellCode套接字

它通过在每次程序运行时随机地分配内存地址,使得攻击者难以确定内存地址位置,从而难以实现攻击。...图片修改int ProcessID并改为被注入进程PID=4016,然后直接运行注入程序,则读者会看到被注入进程弹出了一个MessageBox提示框,则说名我们自定义Shell已经注入成功并运行了;...,要实现正向Shell,一般而言攻击者会创建一个监听指定端口网络套接字,并将其绑定到一个命令行解释器(如 cmd.exe)标准输入和输出流上,这样攻击者即可通过这个管道来使用远程CMD命令行,并以此达到控制对方目的...调用CreateProcess()函数启动cmd.exe进程,并将标准输入、输出和错误流重定向到新创建套接字上。...当有连接请求时,使用 CreateProcess 函数创建一个进程,并将标准输入、输出和错误重定向到网络套接字,实现远程 Shell

28840

我是如何利用环境变量注入执行任意命令

sh -c "echo hello"虽然是一条命令,但是实际上它执行了两个二进制文件sh echo 其中,sh通常只是一个软连接,并不是真的有一个shellsh。...在debian系操作系统中,sh指向dash;在centos系操作系统中,sh指向bash。 由于我们目标是Ubuntu,属于debian系,所以我们来研究下echo和dash两个程序是否可利用。...最后还是很遗憾,虽然找到了两个可以进行命令注入环境变量,但它们都不能在sh -c时触发。 我目标转向了Bash,如果目标系统是CentOS,那么系统sh指向是Bash,此时是否能有突破呢?...我实际在CentOS下测试发现,如果执行sh -c则无法复现命令注入;如果执行是bash -c是可以注入: 很神奇,明明sh只是个软连接,指向是bash,也就是说两次执行是同一个程序,但结果却出现了差异...我们找到这个变量赋值点: 当shell名字shell_name这个变量等于sh时候,act_like_sh会变成1。

58410
领券