-1

如何快速调用 fork() 和 system()?

var pid = fork() // 错误:调用中的参数 #1 缺少参数

var r = system() //错误:fork()' 不可用:请使用线程或 posix_spawn*()

试过了

var param: Int8
var s = system(&param)

也一样,但它给出了不同的错误 - 'system' 在 Swift 中不可用:请改用 posix_spawn API 或 NSTask。

我尝试使用 posix_param。但是这里出现另一个错误是我的代码:-

var pid: pid_t

var status: Int32
posix_spawn(&pid, "", nil, nil, [], nil);
waitpid(pid, &status, WEXITED);
if pid >= 0 {
    return true

}

错误: 1) 变量“pid”的地址在初始化之前采用。2) 变量“status”在初始化之前的地址。

此代码的目标 C 版本正在运行。

int pid = fork();
if(!pid){
    exit(0);
 }
 if(pid>=0)
  {
     return YES;
  }

这里

4

1 回答 1

1

我知道了!

将 pid 初始化为 -1 并将状态初始化为 0 后。

越狱设备的pid 值大于 0,而非越狱的设备 pid 值保持不变。

于 2018-09-05T17:11:28.177 回答