【发布时间】:2011-04-12 05:49:27
【问题描述】:
我们在 Linux 中使用 C。 system() 函数是否有可能以意想不到的方式运行,尤其是在我们处理信号时?
我们发现有时,system() 函数会阻塞执行或抛出 SIGSEGV。
例如:
system ( "/bin/mv a b" );
使用system() 是否有任何已知缺陷可以解释这一点?
【问题讨论】:
-
system()总是 阻塞直到命令完成。 -
但是 mv 命令不需要太多时间,对吧?
-
这取决于:如果您要从不同的分区移动大文件,可能需要一些时间才能完成
-
我知道系统在大多数情况下都能正常工作,我只想知道它何时以及它可能会失败或它的行为是意外的!
-
@Overbose,不,我将文件移动到同一个文件系统中! ,虽然我的问题是它会无限期地阻塞有时或有时我得到 sigsegv ,所以仅阻塞不是问题!
标签: c