//下面是代码。
#include <sys/wait.h>
#include <stdio.h>
#include <stdlib.h>
#include <unistd.h>
int main()
{
pid_t cpid//子进程的pid
cpid = fork()//创建子进程1.
if (cpid == 0) { //子进程1.
printf("HELLO\n")
_exit(EXIT_SUCCESS)//立刻终止子进程1。
} else if (cpid >0) { //父进程。
cpid = fork()//创建子进程2.
if (cpid == 0) { //子进程2.
printf("WELCOME\n")
_exit(EXIT_SUCCESS)//立刻终止子进程2。
} else if (cpid >0) { //父进程.
wait(NULL)
printf("BYE\n")
exit(EXIT_SUCCESS)
} else {
printf("fork() error.\n")
exit(EXIT_FAILURE)
}
} else {
printf("fork() error.\n")
exit(EXIT_FAILURE)
}
}
//代码结束。
注意:如果连续使用两个fork,例如:
pid1=fork()
pid2=fork()
那么实际上会创建三个子进程。
以上代码的写法同时避免了子进程区分的问题。
shell脚本和windows平台上的bat批处理是一样的,简化用户处理重复动作的 *** 作,shell脚本由shell命令组成。工具/原料
vim
ubuntu
方法/步骤
新建一个文件shell脚本一般用×.sh作为后缀当然勇气他的也可以。打开终端输入touch
first.sh
新建一个名为first的shell脚本。
编写一个简单的linuxshell脚本
使用vim
编辑first.sh也可以用其他的文本编辑器,推荐使用vim
使用命令
vim
first.sh打开,输入i进入编辑模式。
编写一个简单的linuxshell脚本
我们写入一个简单的shell脚本,注意第一行的代码解释器的指定,这里使用的是/bin/bash/
解释器
也可用其他的根据个人情况自己选择。
脚本解释:
echo
//显示一串字符并自动换行
read
NAME
//从屏幕获取一段字符,并赋予NAME
$NAME
//取NAME变量的值
#
//只用一个#表示注释文本
编写一个简单的linuxshell脚本
文件写完后按下esc键
退出插入模式,接着输入:wq
保存文本并退出文本编辑。
编写一个简单的linuxshell脚本
输入sh
+
脚本名称
运行脚本,或给文件可运行权限
chmod
+x
然后输入./first.sh运行脚本。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)