10、UNIX 系统中程序执行与作业控制全解析
2026/6/23 18:26:59 网站建设 项目流程

UNIX 系统中程序执行与作业控制全解析

1. 程序执行的基础方法

在 UNIX 系统里,程序员拥有一项强大的能力,即让一个程序执行另一个程序。命令解释器(shell)便是一个简单的程序,它能为用户执行其他程序。若用户不喜欢现有的 shell,也可以自行编写。下面介绍几种执行程序的方法。

1.1 系统库例程 system
  • 使用方式:执行程序最简单的方法是使用系统库例程system。该例程接受一个参数,即包含要执行命令的字符串。此命令字符串会直接传递给 UNIX 的 Bourne shell(sh)执行。由于是传递给 shell,所以与system一起使用的命令字符串可以包含输入输出重定向命令以及管道结构。
  • 存在问题
    • 通用性不足:虽能执行命令,但执行命令的进程无法控制子进程。
    • 开销大:在执行所需命令前,system会先执行一个 Bourne shell 进程,而 shell 很快会执行其他操作,这会浪费处理器时间。
    • 安全漏洞:为防止系统被随意攻击,这里不详细阐述其安全问题。但要注意,设置了用户 ID(特别是超级用户)的程序绝不能使用system来执行子进程。

需要专业的网站建设服务?

联系我们获取免费的网站建设咨询和方案报价,让我们帮助您实现业务目标

立即咨询