c - C 语言中的 Shell

标签 c shell operating-system

<分区>

我想用C语言写一个Linux操作系统的shell。

此项目中使用的库和函数的名称是什么?

谢谢。

最佳答案

您可能至少需要:

  • fork , execv - 用于调用子进程。
  • waitpid - 用于获取使用 fork+exec 产生的死子进程。
  • sigaction - 将信号处理程序安装到:
    • 捕捉中断 (CTRL+C)。
    • 收割死亡的子进程。
  • open - 用于在重定向到文件或从文件重定向时打开文件。
  • dup2 - 用于在实现重定向时用打开的文件替换 STDIN/STDOUT。
  • pipe - 用于创建管道。

Single UNIX Specification Man Pages是所需的任何附加功能的良好资源。

关于c - C 语言中的 Shell,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8006218/

相关文章:

operating-system - 什么是搬迁登记册

operating-system - 音乐播放器过程

为单个线程创建信号处理程序

c - 对 GetConsoleWindow 的 undefined reference

c - 我收到对我构建的 shell 的拒绝许可

c++ - 终止程序但导致输出文件不被写入的 Shell 脚本

c - 如果我在 fork 之前在一个进程上注册了一个自定义信号处理程序,后续的子进程是否也会注册该自定义信号处理程序?

iphone - 如何下载没有文件扩展名的url源代码?

c - 带有 if 条件的后缀

linux - 为什么 cat 会改变二进制文件的内容?