Linux系统下程序运行会实时的用到相关动态库,某些场景下,比如需要裁剪不必要的动态库时,就需要查看哪些动态库被用到了. 以运行VLC为例. VLC开始运行后,首先查看vlc的PID,比如这次查到的VLC PID是5590. zlf@ubuntu:/$ ps -ef |grep vlc zlf : pts/ :: ./vlc zlf : pts/ :: grep --color=auto vlc 查看/proc/5590/下的maps文件,即可看到VLC运行时用到的所有动态库. zlf@ubun…
思路:一般来说,通过make命令已经将程序依赖的动态库编译出来了,通过make install命令已经将动态库安装到系统的某个路径下.找没找到动态库就看这个路径是否包含在系统默认搜索动态库的路径中,如果不在,那么就会提示找不到动态库.以下三种方法,就是根据前面的分析来解决的. 方法一:修改LD_LIBRARY_PATH环境变量 特点:这种方法主要处理临时的动态库加载,LD_LIBRARY_PATH环境变量修改后,只能是对当前的用户生效. LD_LIBRARY_PATH的作用:这个环境变量用于在程…
一.概述 glog是google推出的一款轻量级c++开源日志框架,源码在github上,目前最新release版本是v0.3.5. githut地址:https://github.com/google/glog,避免新版本踏坑,习惯性选用低版本v0.3.3. 二.生成windows库 源码下载完成后,根目录下会有google-glog.sln工程文件呢,用visual studio打开会有四个项目,分别如下: 1.libglog:生成动态库的源码 2.libglog_static:生成静态库的…
一.背景     在linux命令行中执行程序,程序通常会占用当前终端,如果不启动新的终端就没法执行其他操作.简单可以通过'&'将程序放到后台执行,但是这种方法有个问题就是,一旦连接远程服务器的网络异常或者本机ssh客户端.系统等关闭亦或出现问题导致连接断开,那么放到后台执行的程序就会被终止.     对于需要长时间运行的守护进程或者服务端程序这种异常断开造成的进程终止不可接受.下面就介绍三种解决这种问题的通用方案(不涉及程序改造)   二.nohup命令     在启动程序命令后面添加&…
编写一个简单的 hello.c 文件,以此为例. 1.编译并链接一个完全包含于一个源文件的C程序. gcc hello.c gcc -Wall hello.c gcc -o hello hello.c 或 gcc hello.c -o hello 以上三种方法都会产生一个可执行文件,其中前两个生成的是可执行文件是 a.out ,最后一种生成的是文件名是 hello 的可执行文件.但是这三种办法在编译过程中生成的目标文件(hello.o),在链接完成后,又被自动删除,所以在目录下看不到 .o文件.…
跟着韦东山学习Linux: 今天系统系统性的学了代码的编译下载,条记录一下: 一,代码:001_led_on.S,就把下面代码编译后Bin文件下载进2440处理器. /* * 点亮LED1: gpf4 */ .text.global _start _start: /*配置GPF4为输出引脚 *******************/ldr r1,=0x56000050ldr r0,=0x100str r0,[r1] /*******把GPF4输出高电平把0写到地址0x56000054 ******…
1.默认Python安装情况 一般情况,Linux会预装Python的,版本较低,比如Ubuntu15的系统一般预装的是Python2.7.10. 使用命令:which python可以查看当前的python的安装路径: 打开对应路径就可以看到: 如果没有明确必须要使用Python3的版本,可以直接使用2.7.10的版本. 明确需要使用Python3版本,再进行更改. 这里需要说明一点:上图中存在有python,python2,python3,说明安装了2和3的版本, 2.更改安装Python3…
在误删除Oracle的数据文件后,如果未关闭数据库,文件句柄还没有释放,且被删除的数据文件占用的磁盘块未被复写,则可以利用句柄的方式来恢复数据文件.下面模拟恢复过程. (一)环境 OS版本:redhat 6.6 数据库版本:Oracle 11.2.0.1 (二)恢复操作 首先,模拟误删除数据库的数据文件.这里删除表空间TBS04下面的数据文件tbs04.bdf: 这个时候绝对不能关闭数据库,一旦关闭数据库,则无法恢复. 删除后查看DBWN进程,进程号为3032 进入这个进程的目录,可以看到我们删…
将服务器上的文件导入或导出还需要使用工具传输到本机中,推荐使用winscp,与xshell搭配使用 1 导入数据库 两种方法 .首先建空数据库 mysql>create database abc; 方法一: ()选择数据库 mysql>use abc; ()设置数据库编码 mysql>set names utf8; ()导入数据(注意sql文件的路径) mysql>source /home/abc/abc.sql; 方法二: mysql -u用户名 -p密码 数据库名 < 数…
问题描述:nagios自带的check_antp太过简约,除了状态统计输出外,什么参数都不提供.在面对不同应用服务器时,报警就成了很大问题. 问题描述:nagios自带的check_antp太过简约,除了状态统计输出外,什么参数都不提供.在面对不同应用服务器时,报警就成了很大问题.于是决定自己写一个check脚本.作脚本运行,与命令操作时一个不同,就是要考虑一下效率问题.在高并发的机器上定期运行netstat -ant命令去统计,显然不太合适,可以直接从proc系统中取数据,这就快多了. 先介绍…