程序执行与进程控制:深入解析相关机制
在编程领域,程序的执行、进程的管理以及信号的处理等方面是十分重要的知识。下面我们将详细探讨这些内容。
简单Shell示例
我们先来看一个简单的Shell程序示例,它能完成以下任务:
1. 显示提示信息。
2. 从终端读取命令行。
3. 启动一个后台进程来执行命令。
4. 显示另一个提示信息并回到步骤1。
以下是实现这个循环的主程序代码:
/******** myshell.c ********/ #include <sys/types.h> #include <unistd.h> #include <stdlib.h> #include <stdio.h> #include <string.h> #define MAXLINE 80 int main() { char cmd[MAXLINE]; void background(char *cmd); for (;;) { printf("mysh ready%%"); /* Displays prompt */ fgets(cmd, MAXLINE, stdin); /* Reads command */ if ( strcmp(cmd,"exit\n") == 0 ) return EXIT_SUCCESS; background(cmd); /* Starts back