标签: exec

eval,exec和compile之间有什么区别?

我一直在寻找的Python代码动态评估,并遇到了eval()compile()功能,以及exec声明.

有人可以解释之间的区别evalexec怎样的不同模式,compile()适应吗?

python eval dynamic exec

403
推荐指数
3
解决办法
19万
查看次数

Ruby,exec,system和%x()或Backticks之间的区别

以下Ruby方法有什么区别?

exec,system%x()反引号

我知道它们用于通过Ruby以编程方式执行终端命令,但我想知道为什么有三种不同的方法来执行此操作.

ruby exec

358
推荐指数
3
解决办法
15万
查看次数

PHP shell_exec()vs exec()

我很难理解shell_exec()exec()... 之间的区别

我一直习惯于exec()执行服务器端命令,我shell_exec()什么时候使用?

是否shell_exec()只是一个速记exec()?参数较少似乎是一样的.

php shell command exec

327
推荐指数
4
解决办法
41万
查看次数

315
推荐指数
11
解决办法
30万
查看次数

PHP exec()vs system()vs passthru()

有什么区别?

每个功能都有特定的情况或原因吗?如果是的话,你能举一些这些情况的例子吗?

PHP.net说它们用于执行外部程序.参见参考 从我看到的例子中,我没有看到任何明显的区别.

如果我只是简单地运行一个脚本(bash或python),你建议我使用哪个函数?

php command exec

301
推荐指数
5
解决办法
23万
查看次数

exec命令在shell脚本中有什么用处?

谁能用简单的例子解释shell脚本中exec命令的用途是什么?

unix shell exec

241
推荐指数
2
解决办法
28万
查看次数

find:缺少-exec的参数

今天我用一个命令得到了帮助,但它似乎没有起作用.这是命令:

find /home/me/download/ -type f -name "*.rm" -exec ffmpeg -i {} -sameq {}.mp3 && rm {}\;
Run Code Online (Sandbox Code Playgroud)

shell返回

find: missing argument to `-exec'
Run Code Online (Sandbox Code Playgroud)

我基本上要做的是递归遍历一个目录(如果它有其他目录)并对.rm文件类型运行ffmpeg命令并将它们转换为.mp3文件类型.完成此操作后,删除.rm刚刚转换的文件.

我很感激任何帮助.

bash shell arguments exec find

198
推荐指数
6
解决办法
20万
查看次数

194
推荐指数
6
解决办法
13万
查看次数

fork(),vfork(),exec()和clone()之间的区别

我希望在Google上找到这四者之间的差异,我希望有关于此的大量信息,但四个电话之间确实没有任何可靠的比较.

我开始尝试编译一种基本的一目了然的看看这些系统调用之间的差异,这就是我得到的.所有这些信息是否正确/我错过了什么重要的事情?

Fork :fork调用基本上复制了当前进程,几乎在所有方面都是相同的(并非所有内容都被复制,例如,某些实现中的资源限制,但想法是尽可能创建尽可能接近的副本).

新进程(子进程)获取不同的进程ID(PID),并将旧进程(父进程)的PID作为其父PID(PPID).因为这两个进程现在运行的代码完全相同,所以它们可以通过fork的返回代码告诉哪个进程 - 子进程为0,父进程获取子进程的PID.当然,这就是假设fork调用有效 - 如果没有,则不创建子节点并且父节点获取错误代码.

Vfork:vfork和fork之间的基本区别在于,当使用vfork()创建新进程时,父进程将暂时挂起,子进程可能会借用父进程的地址空间.这种奇怪的状态一直持续到子进程退出或调用execve(),此时父进程继续.

这意味着vfork()的子进程必须小心,以避免意外修改父进程的变量.特别是,子进程不能从包含vfork()调用的函数返回,并且它不能调用exit()(如果需要退出,它应该使用_exit();实际上,对于子进程也是如此正常的fork()).

Exec :exec调用是一种基本上用新程序替换整个当前进程的方法.它将程序加载到当前进程空间并从入口点运行它.exec()用函数指向的可执行文件替换当前进程.除非存在exec()错误,否则控件永远不会返回到原始程序.

Clone :克隆,作为fork,创建一个新进程.与fork不同,这些调用允许子进程与调用进程共享其执行上下文的一部分,例如内存空间,文件描述符表和信号处理程序表.

使用clone创建子进程时,它将执行函数应用程序fn(arg).(这与fork不同,fork从原始fork调用开始继续执行.)fn参数是指向子进程在执行开始时调用的函数的指针.arg参数传递给fn函数.

当fn(arg)函数应用程序返回时,子进程终止.fn返回的整数是子进程的退出代码.子进程也可以通过调用exit(2)或在收到致命信号后明确终止.

获得的信息形式:

感谢您抽时间阅读 !:)

linux fork clone process exec

190
推荐指数
4
解决办法
14万
查看次数

node.js同步执行系统命令

我需要在node.js函数中

result = execSync('node -v');
Run Code Online (Sandbox Code Playgroud)

同步执行给定的命令行并返回该命令文本的所有stdout.

PS.同步是错误的.我知道.仅供个人使用.

UPDATE

现在我们有mgutz的解决方案,它给我们退出代码,但不是stdout!仍在等待更精确的答案.

UPDATE

mgutz更新了他的答案,解决方案在这里:)
另外,正如dgo.a所提到的,有独立模块exec-sync

更新2014-07-30

ShellJS lib到了.认为这是目前最好的选择.


更新2015-02-10

最后!NodeJS 0.12原生支持execSync.
见官方文档

javascript command sync exec node.js

162
推荐指数
10
解决办法
14万
查看次数

标签 统计

exec ×10

command ×3

shell ×3

fork ×2

php ×2

python ×2

unix ×2

arguments ×1

bash ×1

c ×1

clone ×1

dynamic ×1

eval ×1

find ×1

javascript ×1

linux ×1

node.js ×1

process ×1

ruby ×1

string ×1

sync ×1