[linux操作系统实验]进程的控制(execl()第二个传参为什么是可执行程序名)

/ 1,725评论 / 7315阅读 / 1点赞

问题

实验示例代码中,调用execl()时,第二个传参为什么会是可执行程序名:

execl("/bin/ls", "ls", "-l", "-color", NULL)

#include <iostream>
using namespace std;

int main(int aNum, char** aStr)
{
        cout << "hello,coolight" << endl;
        cout << "main参数列表:" << endl;
        for(int i = 0; i < aNum; ++i)
                cout << i + 1 << " : " << aStr[i] << endl;

        return 0;
}

实验具体内容

实验内容

涉及的系统调用

在Linux中fork()是一个非常有用的系统调用,但在Linux中建立进程除了fork()之外,也可用与fork() 配合使用的exec()。

exec()系列

exec()fork()联合使用

int status;
     ............
if (fork() == 0)
{
     ............
     execl(...);
     ............
}
wait(&status);

wait()

exit()

源代码

#include <iostream>
#include <unistd.h>
#include "sys/wait.h"
#include "sys/types.h"
using namespace std;
int main()
{
        cout << "<< coolgiht" << endl;
        int status, renum_fork = fork();
        if(renum_fork == -1){
                cout << "<< fork error!" << endl;
        }else if(renum_fork == 0){ //子进程
                execl("./hello", "hello", "-1", "-2", NULL);
                cout << "execl error!" << endl;
        }else{  //父进程
                wait(NULL);
                cout << "<< 完成!" << endl;
        }
        return 0;
}
#include <iostream>
using namespace std;
int main(int aNum, char** aStr)
{
        cout << "hello,coolight" << endl;
        cout << "main参数列表:" << endl;
        for(int i = 0; i < aNum; ++i)

                cout << i + 1 << " : " << aStr[i] << endl;

        return 0;
}

运行结果截图

思考

  1. Pedropaite说道:

    mexican mail order pharmacies: Online Pharmacies in Mexico – pharmacies in mexico that ship to usa

  2. JustinTut说道:

    india online pharmacy https://indiaph24.store/# top 10 online pharmacy in india
    reputable indian online pharmacy

  3. RickyAlage说道:

    rate canadian pharmacies Licensed Canadian Pharmacy canadapharmacyonline com

  4. Pedropaite说道:

    mexican pharmacy: Mexican Pharmacy Online – buying prescription drugs in mexico online

  5. RickyAlage说道:

    mexican pharmacy cheapest mexico drugs mexican pharmaceuticals online

  6. Marcelcrolf说道:

    http://mexicoph24.life/# mexico drug stores pharmacies

  7. Michaelsew说道:

    https://canadaph24.pro/# canadian online drugstore

  8. Marcelcrolf说道:

    http://mexicoph24.life/# mexico pharmacies prescription drugs

  9. StevenSen说道:

    canadian pharmacy tampa: Licensed Canadian Pharmacy – onlinecanadianpharmacy

  10. JustinTut说道:

    reputable indian pharmacies https://indiaph24.store/# cheapest online pharmacy india
    reputable indian online pharmacy

  11. RickyAlage说道:

    buying prescription drugs in mexico online Online Pharmacies in Mexico mexican mail order pharmacies

  12. RickyAlage说道:

    п»їbest mexican online pharmacies Mexican Pharmacy Online buying prescription drugs in mexico

  13. Marcelcrolf说道:

    http://indiaph24.store/# india pharmacy mail order

  14. Michaelsew说道:

    http://indiaph24.store/# buy medicines online in india

  15. Marcelcrolf说道:

    https://canadaph24.pro/# canadapharmacyonline

  16. Marcelcrolf说道:

    https://mexicoph24.life/# mexican pharmacy

  17. RickyAlage说道:

    canadian pharmacy scam Certified Canadian Pharmacies safe canadian pharmacies

  18. StevenSen说道:

    best online pharmacy india: Cheapest online pharmacy – indian pharmacy online

  19. Marcelcrolf说道:

    http://mexicoph24.life/# buying prescription drugs in mexico

  20. RickyAlage说道:

    northwest canadian pharmacy Large Selection of Medications from Canada canadian 24 hour pharmacy

  21. Marcelcrolf说道:

    http://mexicoph24.life/# buying prescription drugs in mexico online

  22. Michaelsew说道:

    https://mexicoph24.life/# mexico drug stores pharmacies

  23. Hi mates, how is everything, and what you would like
    to say regarding this piece of writing, in my view its really
    amazing in favor of me.

  24. RickyAlage说道:

    buying prescription drugs in mexico cheapest mexico drugs medicine in mexico pharmacies

  25. w-495.ru说道:

    психолог в москве консультаци¤ цена
    недорого w-495.ru

发表回复

您的电子邮箱地址不会被公开。 必填项已用 * 标注