当没有网络的时候,板子一直发送dhcp请求,导致程序不往下执行,解决的办法是把它切换到后台运行,可是如何切换到后台呢,有办法,它自带参数可以实现该功能。如下:

udhcpc -b -i eth0 -p /var/run/udhcpc.pid -R

解释一下,-b就是切换到后台指令,-i是指定使用哪个网络接口,双网卡的时候一定要使用它来指定eth0  or  eth1。

【最近新添加 -R】

对于 -R参数,其实也很重要,在关闭udhcpc时,可以向dhcpserver发送release取消租约。

下面引用网友的一篇文章:

udhcpc 的配置记录

udhcpc scripts

Here's some debian scripts I wrote for udhcpc 0.9.6. I wanted to make it easy to run local scripts for DHCP changes so I created /etc/udhcpc.d. All the /usr/share/udhcpc/default.* scripts have been merged into /etc/udhcpc.d/S50default. S99local is an example script that patches resolv.conf and calls a DNS update script.

/etc/init.d/udhcpc
/etc/udhcpc.script
/etc/udhcpc.d/S50default
/etc/udhcpc.d/S99local

Last modified: Mon Feb 4 10:23:49 PST 2002

单调的分割线

http://udhcp.busybox.net/README.udhcpc

udhcp client (udhcpc)
--------------------

The udhcp client negotiates a lease with the DHCP server and notifies
a set of scripts when a leases is obtained or lost.

command line options
-------------------

The command line options for the udhcp client are:

-c, --clientid=CLIENTID         Client identifier
-H, --hostname=HOSTNAME         Client hostname
-h,    Alias for -H
-f, --foreground                Do not fork after getting lease
-b, --background                Fork to background if lease cannot be
                                immediately negotiated.
-i, --interface=INTERFACE       Interface to use (default: eth0)
-n, --now                       Exit with failure if lease cannot be
                                immediately negotiated.
-p, --pidfile=file              Store process ID of daemon in file
-q, --quit                      Quit after obtaining lease
-r, --request=IP                IP address to request (default: none)
-s, --script=file               Run file at dhcp events (default:
                                /usr/share/udhcpc/default.script)
-v, --version                   Display version

If the requested IP address cannot be obtained, the client accepts the
address that the server offers.

udhcp client scripts
-------------------

When an event occurs, udhcpc calls the action script. The script by
default is /usr/share/udhcpc/default.script but this can be changed via 
the command line arguments. The three possible arguments to the script 
are:

deconfig: This argument is used when udhcpc starts, and
 when a leases is lost. The script should put the interface in an
 up, but deconfigured state, ie: ifconfig $interface 0.0.0.0.
 
 bound: This argument is used when udhcpc moves from an
 unbound, to a bound state. All of the paramaters are set in
 enviromental variables, The script should configure the interface,
 and set any other relavent parameters (default gateway, dns server, 
 etc).
 
 renew: This argument is used when a DHCP lease is renewed. All of
 the paramaters are set in enviromental variables. This argument is
 used when the interface is already configured, so the IP address,
 will not change, however, the other DHCP paramaters, such as the
 default gateway, subnet mask, and dns server may change.

nak: This argument is used with udhcpc receives a NAK message.
 The script with the deconfig argument will be called directly
 afterwards, so no changes to the network interface are neccessary.
 This hook is provided for purely informational purposes (the
 message option may contain a reason for the NAK).

The paramaters for enviromental variables are as follows:

$HOME  - The set $HOME env or "/"
 $PATH  - the set $PATH env or "/bin:/usr/bin:/sbin:/usr/sbin"
 $1  - What action the script should perform
 interface - The interface this was obtained on
 ip  - The obtained IP
 siaddr  - The bootp next server option
 sname  - The bootp server name option
 boot_file - The bootp boot file option
 subnet  - The assigend subnet mask
 timezone - Offset in seconds from UTC
 router  - A list of routers
 timesvr  - A list of time servers
 namesvr  - A list of IEN 116 name servers
 dns  - A list of DNS server
 logsvr  - A list of MIT-LCS UDP log servers
 cookiesvr - A list of RFC 865 cookie servers
 lprsvr  - A list of LPR servers
 hostname - The assigned hostname
 bootsize - The length in 512 octect blocks of the bootfile
 domain  - The domain name of the network
 swapsvr  - The IP address of the client's swap server
 rootpath - The path name of the client's root disk
 ipttl  - The TTL to use for this network
 mtu  - The MTU to use for this network
 broadcast - The broadcast address for this network
 ntpsrv  - A list of NTP servers
 wins  - A list of WINS servers
 lease  - The lease time, in seconds
 dhcptype - DHCP message type (safely ignored)
 serverid - The IP of the server
 message  - Reason for a DHCPNAK
 tftp  - The TFTP server name
 bootfile - The bootfile name

additional options are easily added in options.c.

note on udhcpc's random seed
---------------------------

udhcpc will seed its random number generator (used for generating xid's)
by reading /dev/urandom. If you have a lot of embedded systems on the same
network, with no entropy, you can either seed /dev/urandom by a method of
your own, or doing the following on startup:

ifconfig eth0 > /dev/urandom

in order to seed /dev/urandom with some data (mac address) unique to your
system. If reading /dev/urandom fails, udhcpc will fall back to its old
behavior of seeding with time(0).

signals accepted by udhcpc
-------------------------

udhcpc also responds to SIGUSR1 and SIGUSR2. SIGUSR1 will force a renew state,
and SIGUSR2 will force a release of the current lease, and cause udhcpc to
go into an inactive state (until it is killed, or receives a SIGUSR1). You do
not need to sleep between sending signals, as signals received are processed
sequencially in the order they are received.

compile time options
-------------------

options.c contains a set of dhcp options for the client:

name[10]: The name of the option as it will appear in scripts
 
 flags: The type of option, as well as if it will be requested
 by the client (OPTION_REQ)

code: The DHCP code for this option

udhcpc 参数使用说明的更多相关文章

  1. Linux/Unix 常用参数使用说明

    参数使用说明 ~ 表示当前用户目录 绝对路径 .表示当前目录 绝对路径 | 命令格式:命令A|命令B,即命令1的正确输出作为命令B的操作对象(下图应用别人的图片) 举例 ps aux | grep & ...

  2. phpmailer 参数使用说明

    $AltBody--属性 出自:PHPMailer::$AltBody 文件:class.phpmailer.php 说明:该属性的设置是在邮件正文不支持HTML的备用显示 AddAddress--方 ...

  3. GoldenGate HANDLECOLLISIONS参数使用说明

    HANDLECOLLISIONS在官方文档上的说明: 使用HANDLECOLLISIONS和NOHANDLECOLLISIONS参数来控制在目标上应用SQL时,Replicat是否尝试解决重复记录和缺 ...

  4. ffmpeg参数使用说明2

    附录一(ffmpeg参数说明): [参数] [说明] [示例] -i "路径" 指定需要转换的文件路径 -i "C:\nba.wmv" -y 覆盖输出文件,即如 ...

  5. ffmpeg参数使用说明1

    1.     ffmpeg.exe -i F:闪客之家闪客之歌.mp3 -ab 56 -ar 22050 -b 500 -r 15 -s 320x240 f:11.flv 2.     ffmpeg ...

  6. ckplayer 参数设置详解

    参数   使用说明 f s=0时地为普通的视频地址s=1时是一个网址,网址里存放视频地址s=2时是一个网址,网址里输出xml格式的视频地址s=3时是一个swf文件地址,swf和播放器进行交互读取地址 ...

  7. BusyBox ifup udhcpc后台运行

    /********************************************************************** * BusyBox ifup udhcpc后台运行 * ...

  8. Skip-External-Locking – MySQL性能参数详解

    MySQL的配置文件my.cnf中默认存在一行skip-external-locking的参数,即“跳过外部锁定”.根据MySQL开发网站的官方解释,External-locking用于多进程条件下为 ...

  9. Monkey测试的参数

    一.Monkey测试简介 Monkey测试是Android平台自动化测试的一种手段,通过Monkey程序模拟用户触摸屏幕.滑动Trackball.按键等操作来对设备上的程序进行压 力测试,检测程序多久 ...

随机推荐

  1. [java学习笔记]Hello World那些事

    我们安装和配置好java后,必须得大展拳脚一番,根据国际惯例,第一个程序必须是Hello World,下面我们就看看Hello World的那些事. 1.Hello World的运行 Hello Wo ...

  2. Apache服务

    Apache服务的安装: Apache服务程序的软件包名称是:httpd 安装方法: rpm软件包安装.源码编译安装.yum安装 yum install httpd 安装完成后启动: revice h ...

  3. 实时监听input输入框value值的变化

    1.js 的 oninput & onpropertychange JS中的 oninput 事件在 IE9 以下版本不支持,需要使用 IE 特有的 onpropertychange 事件替代 ...

  4. C#通过ODAC访问Oracle12c

    昨天晚上刚装好Oracle12c并配制好了PLSQL Developer开发环境.今天继续完善一下,讲讲在C#中如何访问Oracle12c. 其实我们运用老早的ADO.NET也可以连接,但是在.NET ...

  5. [PHP] chr和ord函数实现字符串和ASCII码互转

    chr和ord函数是用来字符串和ASCII码互转的.  ASCII码是计算机所能显示字符的编码,它的取值范围是0-255,其中包括标点.字母.数字.汉字等.在编程过程中,经常把指定的字符转化为ASCI ...

  6. eclipse import的项目报autowired cannot be resolved to a type的错误

    eclipse报autowired cannot be resolved to a type的错误,一般情况是依赖的JDK或者jar包有问题,检查build path可以排查文件,我今天遇到这个情况, ...

  7. 第一部分实现功能:使用一个TabControl和一个Memo和TDictionary类实现文本临时存储

    效果图: 一期功能概要: a.双击tab关闭tab,双击tab右边空白添加tab(标题为以hhnnsszzz的时间格式命名) b.切换tab将数据存入dictionary,key为标题,value为m ...

  8. controller.pp 各组件的安装顺序

    controller 属性:         admin_address => $controller_node_address,         public_address => $c ...

  9. FatFsVersion0.01源码分析

    目录 一.API的函数功能简述 二.FATFS主要数据结构 1.FAT32文件系统的结构 2.FATFS主要数据结构 ①   FATFS ②   DIR ③  FIL ④  FILINFO ⑤  wi ...

  10. T[]与List<T>的使用时机

    所有的数组类型都隐式地从System.Array这个抽象类派生,而System.Array又派生自System.Object.也就是说数组是引用类型.通过如下方式创建数组: int[] arrInt ...