LINUX下system和execl有什么差异?

简介: LINUX下system和execl有什么差异?

用C都可以调用,启动一个应用,实际上差别很大。


  • system:启动另外一个应用之后,新应用的进程独立,当前进程也活着。即有两个互不影响的进程。
  • execl:启动另外一个应用之后,新应用的进程即是当前进程。进程数是一个。


需要强调的是:


 system/popen都是阻塞的,即运行不结束就不会返回。


 如果不需要阻塞,马上返回,加一个后台运行符号 & 即可。


目录
相关文章
|
算法 Linux API
【Linux系统编程】Linux下删除文件的 API方式以及文件删除机制差异
【Linux系统编程】Linux下删除文件的 API方式以及文件删除机制差异
727 0
|
消息中间件 Linux
Linux中的System V通信标准--共享内存、消息队列以及信号量
希望本文能帮助您更好地理解和应用System V IPC机制,构建高效的Linux应用程序。
646 48
|
Linux
【Linux】System V信号量详解以及semget()、semctl()和semop()函数讲解
System V信号量的概念及其在Linux中的使用,包括 `semget()`、`semctl()`和 `semop()`函数的具体使用方法。通过实际代码示例,演示了如何创建、初始化和使用信号量进行进程间同步。掌握这些知识,可以有效解决多进程编程中的同步问题,提高程序的可靠性和稳定性。
1195 19
|
Docker 容器
14 response from daemon: open \\.\pipe\docker_engine_linux: The system cannot find the file speci
14 response from daemon: open \\.\pipe\docker_engine_linux: The system cannot find the file speci
589 1
|
IDE 数据可视化 Linux
在Linux中,如何比较两个文件差异?
在Linux中,如何比较两个文件差异?
|
消息中间件 Unix Linux
[Linux打怪升级之路]-system V共享内存
[Linux打怪升级之路]-system V共享内存
[Linux打怪升级之路]-system V共享内存
|
Ubuntu Linux UED
|
Ubuntu Linux 编译器
当自身需要使用的 gcc版本 和Linux 默认版本 存在大版本差异时怎样处理
当自身需要使用的 gcc版本 和Linux 默认版本 存在大版本差异时怎样处理
1080 2
|
消息中间件 Linux
【Linux】System V 消息队列(不重要)
【Linux】System V 消息队列(不重要)
267 1
|
消息中间件 算法 Unix
【Linux】System V 共享内存
【Linux】System V 共享内存
313 1