`
loovle
  • 浏览: 145119 次
  • 性别: Icon_minigender_1
  • 来自: 上海
社区版块
存档分类
最新评论

init.rc脚本的特性和dhcpcd的程序特性导致内存耗尽

阅读更多
init.rc脚本的特性和dhcpcd的程序特性导致内存耗尽

init进程会周期性检查所有由init启动的service服务进程, 当init通过PID发现由init创建的该服务进程的PID不存在之后(被手工kill掉或者程序fork()之后,关闭了父进程),那么init进程会再次启动[luther.gliethttp].

原init.rc脚本
...
service dhcpcd /system/bin/dhcpcd eth0
    disabled
...
运行一段时间之后,通过ps发现dhcpcd一直在增加,最后耗尽了所有内存,使得系统运行缓慢.

原因:在于dhcpcd程序使用了fork(),然后关闭掉父进程,子进程进入daemon,但是android的init程序周期性检查所有 service发现,被init创建出来的service的PID消失了,于是将再次start service启动dhcpcd,其实这时dhcpcd是以子进程的身份运行在daemon后台,所以导致dhcpcd程序一直持续不断的被init进程创建.

临时解决方案:
修改后脚本
...
service dhcpcd /system/bin/dhcpcd eth0
    disabled
    oneshot //表示init进程仅对该service启动一次[luther.gliethttp]
...
转:http://blog.chinaunix.net/u1/38994/showart_1209634.html
分享到:
评论

相关推荐

    dhcpcd-6.11.5.tar.xz

    dhcpcd-6.11.5.tar.xz

    dhcpcd-3.0.10.rar_dhcpcd 源码_dhcpcd 用法_dhcpcd.rar_dhcpcd源码_linux

    dhcpcd是一款轻量级的DHCP客户端守护程序,适用于Linux和其他类UNIX系统,用于自动获取IP地址、DNS服务器信息等网络配置。这个压缩包文件"dhcpcd-3.0.10.rar"包含了dhcpcd的源码,这为我们提供了深入理解其工作原理...

    dhcpcd-5.2.12

    dhcpcd-5.2.12.tar.bz2,dhcp客户端开源软件。

    dhcpcd.conf

    树莓派4b网络配置文件模板

    dhcpcd.zip

    在"dhcpcd.zip"压缩文件中,可能包含了一个名为"dhcpcd"的程序或配置文件,这通常是一个用于处理DHCP通信的客户端程序。在Android系统中,dhcpcd可能被用作后台服务,负责处理设备的网络连接和DHCP请求。通过分析或...

    树莓派初始设置

    在 `/etc/init.d/vncserver` 文件中添加启动脚本,以确保VNC服务在启动时自动运行。这将允许用户在任何时间通过VNC连接到树莓派,进行更复杂的操作或可视化任务。 总的来说,树莓派的初始设置是一个重要的步骤,它...

    dhcpcd-6.0.1_arm_install.tar

    - **配置文件**:dhcpcd使用`/etc/dhcpcd.conf`作为其配置文件,用户需要根据网络环境进行相应的设置。 - **服务管理**:在Linux环境下,可能需要使用systemd或sysvinit管理dhcpcd的服务启动和停止。 安装完成后,...

    树莓派附件参考脚本.rar

    Python则因其易读性、广泛库支持而常用于编写更复杂的程序和脚本。 3. **系统管理脚本**:脚本可以用于自动化系统维护,如自动更新软件包(`sudo apt update && sudo apt upgrade`),定时重启(使用`crontab`服务...

    dhcpcd 服务器源代码

    这个版本可以在arm上使用 这是完整的dhcpcd servers 相比较 udhcpd 和 dnsmasq 它支持 ad-hoc 特殊DHCP-DNS

    android_wifi_porting_eng.doc

    确保`wpa_supplicant`和`dhcpcd`(可选)在`init.rc`中启动 您还需要确保`wpa_supplicant`服务在系统启动时正确启动。此外,如果需要,您还可以选择性地启动`dhcpcd`服务,以便自动分配IP地址。 #### 6. 提供驱动...

    树莓派基础配置系统安装及自启动java程序

    - 在文件`/etc/dhcpcd.conf`中添加以下内容来配置静态IP地址: ```sh # 有线连接 interface eth0 static ip_address=192.168.8.200 static routers=192.168.8.1 static domain_name_servers=192.168.8.1 # ...

    bcm4329驱动移植

    接着,我们需要关注`system/core/rootdir/etc/init.qcom.rc`文件。这个文件包含了启动时运行的服务定义,特别是在这里,我们需要添加两个与WiFi相关的服务:`wpa_supplicant`和`dhcpcd_wlan0`。`wpa_supplicant`服务...

    无线网共享脚本

    这个压缩包中的无线网共享脚本可能是针对特定的操作系统和硬件环境编写的,使用前需要确认脚本与当前环境的兼容性。同时,使用无线网络共享时,要注意安全问题,例如设置强密码防止未授权访问,并注意个人数据的保护...

    dhcpcd-5.5.6

    开源dhcp server,有底层,有空多看,值得学习

    浅析android下如何通过jni监控wifi网络连接、dhcpcd执行和power电源控制

    Android 下通过 JNI 监控 WiFi 网络连接、dhcpcd 执行和 Power 电源控制 Android 作为一个开源的移动操作系统,具有广泛的应用前景,而 WiFi 网络连接、dhcpcd 执行和 Power 电源控制是 Android 中的三个重要组件。...

    dhcpcd:DHCP IPv4LL IPv6RA DHCPv6客户端

    dhcpcd dhcpcd是和客户端。 它也是一个IPv4LL(又名 )客户端。 用外行的话来说,dhcpcd在您的计算机上运行,​​并且无提示地将您的... # A sample configuration for dhcpcd.# See dhcpcd.conf(5) for details.#

    yaffs2的etc文件夹下的配置

    `/etc/init.d`目录下包含了许多服务的启动脚本,如网络服务(如`dhcpcd`或`networking`)、日志服务(`syslogd`)等。这些脚本遵循特定的运行级别(runlevel)逻辑,控制服务的启动、停止和重启。 4. **系统及应用...

    arm-linux启动流程分析.pdf

    4. 启动网络服务:如 dhcpcd(动态主机配置协议)或 ifup(网络接口启动脚本)。 5. 启动其他服务:如 sshd(SSH 服务)、sshd(远程登录服务)等。 6. 最终进入用户界面:shell 或图形桌面环境。 总结来说,理解 ...

    浅析android下如何通过jni监控wifi网络连接、dhcpcd执行和power

    在深入探讨如何在Android系统中利用JNI(Java Native Interface)技术来监控WiFi网络连接状态、DHCP客户端守护进程(dhcpcd)的执行以及管理电源控制(power),我们首先需要理解基本概念与原理。 ### Android与JNI...

    路由器锐捷认证+ipv6设置

    9. 重启相关服务,如`/etc/init.d/freeradius start`、`/etc/init.d/dhcpcd start`等,使配置生效。 10. 测试连接,确保锐捷认证和IPv6通信都正常工作。 在进行以上操作时,务必遵循OpenWrt官方文档和相关软件的...

Global site tag (gtag.js) - Google Analytics