DoubleLi

qq: 517712484 wx: ldbgliet

  博客园 :: 首页 :: 博问 :: 闪存 :: 新随笔 :: 联系 :: 订阅 订阅 :: 管理 ::

2023年4月21日

摘要: 文章目录 开机自启动 环境变量 总结 开机自启动 /etc/rc.d/rc.local 用于添加开机启动命令/etc/rc.local是/etc/rc.d/rc.local的软连接软连接相当于windows的快捷键 嵌入式Linux只有: 文件:/etc/rc.local 目录:/etc/rc0.d 阅读全文
posted @ 2023-04-21 18:27 DoubleLi 阅读(1133) 评论(0) 推荐(0)

摘要: 围绕以下几个问题来学习export命令: 1.什么是export命令? 2.为什么要用export命令? 3.怎么使用export命令? 1.什么是export命令? ♦ 用户登录到Linux系统后,系统将启动一个用户shell。在这个shell中,可以使用shell命令或声明变量,也可以创建并运行 阅读全文
posted @ 2023-04-21 18:21 DoubleLi 阅读(143) 评论(0) 推荐(0)

摘要: 1、各初始化文件执行流程以下是/etc/rc.local 与 /etc/profile .bash_profile .bashrc 等文件的执行顺序。 1)通过/boot/vm进行启动 vmlinuz 2)init /etc/inittab 3)启动相应的脚本,并且打开终端 rc.sysinitrc 阅读全文
posted @ 2023-04-21 18:17 DoubleLi 阅读(433) 评论(0) 推荐(0)

摘要: 注意:CentOS 6下基本没什么问题,CentOS 7估计不一定能行。 在CentOS系统下,主要有两种方法设置自己安装的程序开机启动。 1、把启动程序的命令添加到/etc/rc.d/rc.local文件中,比如下面的是设置开机启动httpd。 #!/bin/sh # # This script 阅读全文
posted @ 2023-04-21 18:11 DoubleLi 阅读(494) 评论(0) 推荐(0)

摘要: 注意:rc.local脚本里面启动的用户默认为root权限。 一、rc.local脚本 rc.local脚本是一个Ubuntu开机后会自动执行的脚本,我们可以在该脚本内添加命令行指令。该脚本位于/etc/路径下,需要root权限才能修改。 该脚本具体格式如下: #!/bin/sh -e # # rc 阅读全文
posted @ 2023-04-21 18:08 DoubleLi 阅读(88) 评论(0) 推荐(0)

摘要: 目录 profile rc.local 自定义脚本:my.bash profile /etc/profile 用户脚本,在用户登陆后执行,只有用户权限,所以只能执行用户权限下的程序,不登录就不会执行。 rc.local /etc/rc.local 系统脚本,系统启动后执行,与是否登陆无关,所以优先级 阅读全文
posted @ 2023-04-21 17:58 DoubleLi 阅读(204) 评论(0) 推荐(0)

摘要: 进程内存布局 我们写程序运行栈的栈帧保存在栈区,函数调用深度太多将导致爆栈栈的大小有上限,每个进程可以指定软上限,操作系统可指定硬上限 linux查看栈上限方法 linux可以通过ulimit命令查看栈上限和设置上限 ulimit -a 查看进程所有资源上限 ulimit -s xx 修改栈上限 也 阅读全文
posted @ 2023-04-21 16:48 DoubleLi 阅读(1470) 评论(0) 推荐(0)

摘要: 有时候在Linux写C++程序处理大量的数据,程序内部需要分配很大的数组来存放一些数据,但有时候分配的数组太大的话运行时会出现段错误。这种情况可能是分配的数组大小超过了Linux系统的默认栈空间的大小了,导致栈空间不够分配,出现错误。 查看linux默认栈空间的大小通过命令 ulimit -s 查看 阅读全文
posted @ 2023-04-21 16:45 DoubleLi 阅读(531) 评论(0) 推荐(0)

摘要: 同样的代码程序: 主程序中释放了一块在 动态库(*.dll)或共享库(*.so) 中分配的内存, Windows 将会出现程序崩溃,而 Linux 则正常运行。 在 linux 下,每个进程只有一个 heap , 在任何一个共享库模块 *.so 中通过 new 或者 malloc 来分配内存的时候都 阅读全文
posted @ 2023-04-21 14:19 DoubleLi 阅读(244) 评论(0) 推荐(0)

摘要: GDB多进程调试 (一)多线程调试命令 (1)调试父进程:set follow-fork-mode parent (缺省值,即默认) (2)调试子进程:set follow-fork-mode child (3)设置调试模式:set detach-on-fork [on | off] (缺省值on) 阅读全文
posted @ 2023-04-21 11:16 DoubleLi 阅读(153) 评论(0) 推荐(0)

摘要: 多线程调试 (一)多线程调试命令 shell的命令: (1)查看当前运行的进程:ps aux | grep book (2)查看当前运行的轻量级进程:ps -aL | grep book (3)查看主线程和子线程的关系:pstree -p 主线程id gdb的命令: (1)查看可切换调试的线程:in 阅读全文
posted @ 2023-04-21 11:02 DoubleLi 阅读(558) 评论(0) 推荐(0)

摘要: 当GDB无法显示so动态库的信息或者显示信息有误时,通常是由于库搜索路径错误导致的,可使用set sysroot、set solib-absolute-prefix、set solib-search-path来指定库搜索路径。 1. set sysroot 与 set solib-absolute- 阅读全文
posted @ 2023-04-21 10:43 DoubleLi 阅读(1302) 评论(0) 推荐(0)

摘要: 一、core文件 当程序运行过程中出现Segmentation fault (core dumped)错误时,程序停止运行,并产生core文件。core文件是程序运行状态的内存映象。使用gdb调试core文件,可以帮助我们快速定位程序出现段错误的位置。当然,可执行程序编译时应加上-g编译选项,生成调 阅读全文
posted @ 2023-04-21 10:11 DoubleLi 阅读(1426) 评论(0) 推荐(0)

摘要: GCC “stack smashing detected”机制 相信使用C/C++语言开发软件的程序猿们都经历过‘栈溢出’的问题。‘栈溢出’问题通常十分的隐蔽,有的时候问题复现也十分的困难。每当软件出现莫名其妙的问题时,总是有人怀疑是不是栈溢出了,但是问题的排查又十分的困难,所以,‘栈溢出’就是广大 阅读全文
posted @ 2023-04-21 09:54 DoubleLi 阅读(154) 评论(0) 推荐(0)

摘要: 关键词:stack-protector、stack-protector-strong、stack-protector-all等等。 1. gcc栈保护机制stack-protector简介 gcc提供了栈保护机制stack-protector。关于stack-protector包含三个选项,分别是s 阅读全文
posted @ 2023-04-21 09:50 DoubleLi 阅读(1116) 评论(0) 推荐(0)