• 信息安全系统设计基础第十二周学习总结


    信息安全系统设计基础第十二周学习总结

    • environ.c:

    先通过getenv函数获取环境变量PATH的路径并显示;然后使用函数setenv改变PATH,然后再次显示:

    • environvar.c:


    • exec1.c:

    通过execvp函数,从环境变量所指目录中寻找ls文件并执行,然后将arglist数组传给要执行的ls文件。

    执行完后直接结束,不会有结尾那一句输出。

    • exec2.c:

    通过execvp寻找名为arglist数组第一个元素的文件,也是ls,然后把数组传递给它,进行执行。

    也还是没有结尾的输出语句

    • exec3.c:

    使用execlp函数寻找ls文件,然后将后面的两个参数作为该文件的参数,最后以空指针NULL结束

    结尾仍没有输出语句

    • testmf.c:

    使用mkfifo函数按照/tmp/mtfifo建立特殊的fifo文件,参数0777为该文件的权限。如果成功,则显示FIFO已经创建。
    FIFO可以很好地解决在无关进程间数据交换的要求。FIFO类型文件同时具有管道的特性,在数据读出时,FIFO管道中同时清除数据。

    • consumer.c+producer.c:

    根据操作系统所学知识,这应该是生产者和消费者两个进程相互通信的过程,所以需要打开两个终端分别运行。他们先创建一个FIFO文件,然后再进行进程通信读取数据。

    函数memset作用为,将buffer前sizeof(buffer)个字节用0替换,并且返回buffer。
    最终消费者进程还会返回读取的总字节数,为TEN_MEG=1024102410=10485760。

    • forkdemo1.c:

    先获取当前进程号,再生成一个子进程,父进程返回子进程标记,子进程返回0.

    • forkdemo2.c:

    父进程先获取当前进程号,然后生成三个子进程,分别返回自己进程号

    • forkdemo3.c:

    先输出父进程进程号,然后生成子进程,然后如果是父进程,则声明身份指出子进程的进程号;如果是子进程,则声明自己身份,给出自己进程号。

    • forkdemo4.c:

      先输出父进程进程号,然后生成子进程,然后如果是父进程,则声明身份并指出子进程的进程号;如果是子进程,则声明自己身份,给出自己进程号和父进程进程号。

    • forkgdb.c:

    通过父进程和子进程分别对一个正常变量li,全局变量gi和静态变量si进程叠加,从而看出进程运行的先后顺序

    • psh1.c:

    程序预设了20个参数的位置,由操作者输入,作为指令进行执行,如果操作者输入已经完成,对着空的位置直接按回车即可。

    • psh2.c:

    • testbuf1.c:

    显示hello,并且清除缓冲区,永远循环

    • testbuf2.c:

    • testbuf3.c:

    以标准输出作为文件指针输出1234,并且以标准错误文件指针输出abcd

    • testpid.c:

    显示当前进程及其父进程

    • testpp.c:

    • testsystem.c:

    将输入参数作为系统指令执行

    • waitdemo1.c:

    先显示父进程,然后等待子进程沉睡4秒,然后由父进程显示子进程的进程号。

    • waitdemo2.c:

    除了与waitdemo1一样的方式等待了子进程休眠10秒以外,还返回了三个参数,分别为27,0,0.

    参考资料:百度百科

  • 相关阅读:
    webgl变换:深入图形平移
    webgl基础:顶点到片元的联动
    webgl基础:绘制多边形
    webgl初章:进入3D世界
    canvas动画实战与性能优化
    初识canvas(二)
    初识canvas(一)
    SQL换行符
    正则表达式校验
    2019.7.2 JQ
  • 原文地址:https://www.cnblogs.com/20135319zl/p/5005202.html
Copyright © 2020-2023  润新知