APP开发在前面的文章中详细介绍了如何跟踪数据路由,本文深圳APP开发公司主要介绍我们在APP开发时如何查看程序的依赖库--LDDEBUG。运行某个程序有时会报以下的错误。
errorwhileloadingsharedlibraries:xxxx.s:,.2:
cann:,topensharedobjectfile:N_,suchfile_.rdire:tory
这是由于查找不到所依赖的库造成的,但从错误信息上看,没法确定所缺的库的具体路径,这就让开发人员无从查起。对于这种依赖的库找不到的情况,在Linux中可以通过设置LDDEBUG环境变量来获得更多的信息。LD_DEBUG是glibe中loader为了方便自身调试而设置的个环境变量。通过设置这个环境变量,可以方便地看到loader的加载过程
LD_DEBUG的详细用法如图4.18所示。
APP开发实操示意图4.18LDDEBUG的详细用法
下面以Nginx的扁动为例看下Nrginx启动所需要加载的库如图4.19所示。
APP开发进程管理利器--superlvlsor
supervlsor是用Pvthon语言编写的基于Liuux操作系统的款进程管理工具,用于监控进程的运行,当发现进程闪退时能自动重启比如开发人员想在后台运行一个从消息队列中取出消息再发送到邮件的脚本sendmail.sh,常常会使用&在程序结尾让程序自动运行,并且在退出登录后也继续执行,采用如下的命令。
nohupsh/data/sendrnail.sh2>&1>>/data/logs/sendmail.log&
当要把要把运sh脚本的进fikill掉,则需要通过下面两步,如图4.19所示。
上面管理进程的方法有如下的缺点
·不知道进程的状态,不知道进程在运行的过程中是否终止
·每次重启进程,kill进程都需要烦琐的步骤。
·如果需要运行大量的守护进程,用这种方法不方便管理。
使用supervlsor管理进程有如下的优点
·能自动启动配置好的进程,并监控每个进程的状态,例如进程是运行着还是停止的
·监控的进程如果因为各种原因闪退,能自动重启改进程。
安装supervlsor很简单,使用如下的命令
yum install supervisord
supervisord安装完成后,在/usr/bin/目录下增加了两个命令
·supervisord:supervisor的服务器端,启动supervlsor就是运行这个命令。
·supervisorctl:通过该命令和supervisord进行交换。
启动supervlsor.先为其创建配置文件/etc/supervisord.conf,内容如下。
在上面的文件中,为了更好地管理进程监控脚本,把进程监控脚本放在/etc/supervisordconf.d/。例如,为监控运行脚本/data/sendmail.sh,创建文件/etc/supervisord.conf.d/mail.conf.内容如下。
运行supervisord服务端程序
使用supervisorctl查看supervisor管理进程的状态
停止命名为mail的进程
supervisor还包含了很多实用命令,可以通过帮助查看这些命令,如图4-20所示
深圳APP开发博纳网络关于APP制作时如何处理如何查看程序LDDEBUG依赖库的文章本文就介绍到这里,我们会在下期的相关文章中详细介绍如何分析故障的实际操作经验。