今天调试ptrace的一个用例,里面用到了excel这个函数:

#include <sys/ptrace.h>
#include <sys/types.h>
#include <sys/wait.h>
#include <unistd.h>
#include <sys/reg.h>   /* For constants  ORIG_RAX etc */
#include <stdio.h>
int main()
{   pid_t child;long orig_rax;child = fork();if(child == 0) {ptrace(PTRACE_TRACEME, 0, NULL, NULL);printf("Try to call: execl\n");execl("/bin/ls", "ls", NULL);printf("child exit\n");}else {wait(NULL);orig_rax = ptrace(PTRACE_PEEKUSER,child, 8 * ORIG_RAX,NULL);printf("The child made a ""system call %ld\n", orig_rax);ptrace(PTRACE_CONT, child, NULL, NULL);printf("Try to call:ptrace\n");}return 0;
}

上面的代码来自:https://blog.csdn.net/litost000/article/details/82813641

运行的时候发现,child exit 永远打印不出来,尝试了各种办法,因为之前从来没用过excel函数,对其不了解,所以也没向它考虑,后来通过最笨的方式进行尝试,验证出就是excel的问题,然后一查,果然。。。。。

excel的一个特点:

当进程调用一种exec函数时,该进程完全由新程序代换,而新程序则从其main函数开始执行。因为调用exec并不创建新进程,所以前后的进程ID并未改变。exec只是用另一个新程序替换了当前进程的正文、数据、堆和栈段。

用另一个新程序替换了当前进程的正文、数据、堆和栈段。

当前进程的正文都被替换了,那么execl后的语句,即便execl退出了,都不会被执行
上面的话来自:https://blog.csdn.net/bao_bei/article/details/48287945

但是对其参数也不了解,也就顺便查了一下:

Linux下头文件

#include <unistd.h>

函数定义

int execl(const char *path, const char *arg, ...)

实例1

/*
 * execl函数使用实例1
 *功能:执行/bin/ls -al /etc/passwd
 * */
#include <unistd.h>

int main(void)
{
    //执行/bin目录下的ls
    //第一个参数为程序名ls,第二个参数为-al,第三个参数为/etc/passwd
    execl("/bin/ls", "ls","-al","/etc/passwd",(char*)0);
    return 0;
}

实例2

include <unistd.h>

int
main(void)
{
    char args[] = "-l";
    /*
     * 执行/bin目录下的ls,第一参数为程序名ls,
     * 第二个参数为-al,第三个参数为/etc/
     */
    execl("/bin/ls","ls","-al","/etc/",NULL);
    
    return 0;
}

上面的2个例子来自:https://blog.csdn.net/ahuang1900/article/details/38169769

excel的第一个参数是关键,第二个参数只是个名称而已,可以随便写——当然,为了代码的功能清楚,乱写也没有必要;

linux下的excel相关推荐

  1. Qt4 Linux下读写excel

    背景 最近项目中涉及到excel的读写,因为是在Linux上操作,而且是Qt4的版本,所以相对有些麻烦.之前我们用的是直接通过python去读写excel,把数据存储到中间文件.然后读中间文件进行操作 ...

  2. Linux下操作Excel表格,xlsx表格

    最近Linux下用到表格处理,但是libxl库收费,因为版权的问题不能用,所有在git上重新找,最后发现了一个qt版本的: https://github.com/dbzhang800/QtXlsxWr ...

  3. linux 操作excel文件,Linux下输出excel文件

    今日提供给产品需求,需excel文件,故总结要点如下: 1.默认间隔是space_20 2.修改为TAB \t _09 awk '  BEGIN { OFS="\t"} ;{ $1 ...

  4. Linux生成xlsx格式文件,linux下生成excel文件

    ps: od命令系统默认的显示方式是八进制,这也是该命令的名称由来(Octal Dump).但这不是最有用的显示方式,用ASCII码和十六进制组合的方式能提供更有价值的信息输出. 它们对于访问或可视地 ...

  5. linux下读取excel文件

    一.example.cpp #include <iostream> #include <stdio.h> #include <string.h> #include ...

  6. Linux下命令行打开word、excel、pdf文件

    Linux下命令行打开word.excel.pdf文件 1.打开word文件 wps xxx.docx xdg-open xxx.docx 2.打开excel文件 et xxx.xlsx xdg-op ...

  7. 使用win中excel打开linux下.csv文件乱码问题

    使用win中excel打开linux下.csv文件乱码问题 1.问题原因 不同系统的字符集编码不一样 windows使用的是gbk格式 linux使用的是utf8格式 检查文件编码格式 file 文件 ...

  8. linux下安装OpenOffice及使用java调用OpenOffice转换word、Excel为pdf并添加水印

    一.linux下安装OpenOffice OpenOffice是Apache的一款开源的软件,我主要是用来转换office文档成pdf文件,并给其添加水印等. (1)下载安装包 进入主题,首先我们需要 ...

  9. linux下几种文件系统的测试比较

    在linux下对部分文件系统进行测试 一. 我的实验平台 我使用的是vmware workstation7.1.4.16648 虚拟机 安装的操作系统信息 [root@node2 ~]# uname ...

最新文章

  1. 推荐一个论文复现神器!
  2. 区块链的价值在于建立信任,而ICO却在摧毁信任
  3. 不用车载传感器,也能L4级自动驾驶?清华百度联手发布全球首个纯路侧感知自动驾驶方案...
  4. JavaScript 技术篇-js语句创建dom节点,并给节点设置属性
  5. Linux Container 研究报告
  6. 更新:让UpdatePanel支持上传文件
  7. GraphQL入门之GraphQL查询的规范
  8. 张平文院士:展示计算数学的魅力
  9. 中国可打印标签市场趋势报告、技术动态创新及市场预测
  10. IIS------IIS上部署MVC网站,打开后ExtensionlessUrlHandler-Integrated-4.0解决办法
  11. 1386 安排电影院座位(字典、位运算)
  12. GTK开发(二)控件和布局
  13. UOS 加锁文件夹/文件之解锁
  14. WCF学习之旅—WCF第二个示例(五)
  15. Android页面的布局
  16. 做一名名企科学家,还是当一个终身教授,这是一个问题
  17. hdu 1789题解
  18. truncate函数
  19. 标签体系及应用方法论,一文读懂
  20. ps Adobe 存储为 Web 所用格式

热门文章

  1. php培训技能,多迪php培训该掌握的10大技能,你都掌握了哪些?
  2. (附源码)springboot公益慈善管理系统 毕业设计 281454
  3. 如何在Ubuntu上驱动腾达W541U V2.0 (RT2070)无线网卡【使用2011新驱动】
  4. 电脑连接网络失败解决办法
  5. 七大设计原则之单一职责原则应用
  6. zabbix系列(1)zabbix5.0搭建之环境准备
  7. 企业信用评级的原则性要求
  8. 中e管家实现财富保值和增值的几点建议
  9. 微信小程序getApp()和App()方法详解
  10. riscv-sodor 学习笔记