百度
360搜索
搜狗搜索

linux怎么用system函数返回值详细介绍

在 Linux 系统中,system 函数在 <stdlib.h> 头文件里被定义,其作用是执行一个 shell 命令。下面为你详细介绍 system 函数返回值的相关情况与使用方法。

返回值情况

  • 如果 fork 失败或者无法创建子进程system 函数会返回 -1,并且会设置 errno 来表明错误原因。
  • 如果 shell 不能被执行:在这种情形下,返回值就如同 shell 以状态 127 退出一样。
  • 如果成功执行system 函数返回的是 shell 的终止状态。该状态的具体情况需要借助 WIFEXITEDWEXITSTATUSWIFSIGNALEDWTERMSIG 等宏来解析。

使用示例

下面给出一个 C 语言示例,展示如何使用 system 函数并处理其返回值:
c

 

status

status

status

status

status

status

status

代码解释

  1. 调用 system 函数status = system("ls -l"); 这行代码调用 system 函数执行 ls -l 命令,并且把返回值存于 status 变量中。
  2. 检查返回值
    • status 为 -1,表明 fork 失败或者无法创建子进程,这时使用 perror 函数输出错误信息。
    • WIFEXITED(status) 为真,说明命令正常退出,使用 WEXITSTATUS(status) 获取退出状态。
    • WIFSIGNALED(status) 为真,说明命令被信号终止,使用 WTERMSIG(status) 获取终止信号的编号。

通过上述步骤,你就能正确使用 system 函数的返回值,从而判断命令执行的状态。

阅读更多 >>>  linux非交互式什么玩意儿

文章数据信息:

本文主要探讨:"linux怎么用system函数返回值", 浏览人数已经达到31次, 首屏加载时间:1.548 秒。