http://blog.chinaunix.net/u1/53053/showart_425197.html
#include <sys/types.h> /* 提供类型pid_t的定义 */
#include <sys/wait.h>
pid_t wait(int *status)
进程一旦调用了wait,就立即阻塞自己,由wait自动分析是否当前进程的某个子进程已经退出,如果让它找到了这样一个已经变成僵尸的子进程,wait就会收集这个子进程的信息,并把它彻底销毁后返回;如果没有找到这样一个子进程,wait就会一直阻塞在这里,直到有一个出现为止。
参数status用来保存被收集进程退出时的一些状态,它是一个指向int类型的指针。但如果我们对这个子进程是如何死掉的毫不在意,只想把这个僵尸进程消灭掉,(事实上绝大多数情况下,我们都会这样想),我们就可以设定这个参数为NULL,就象下面这样:
pid = wait(NULL);
如果成功,wait会返回被收集的子进程的进程ID,如果调用进程没有子进程,调用就会失败,此时wait返回-1,同时errno被置为ECHILD。
下面就让我们用一个例子来实战应用一下wait调用:
/* wait1.c */
#include <sys/types.h>
#include <sys/wait.h>
#include <unistd.h>
#include <stdlib.h>
main()
{
pid_t pc, ......
一 优盘挂载
1: fdisk -l 列出指定设备的分区表信息。由于usb盘是被模拟为scsi设备访问,所以会被自动命名为sd*。
找到挂载的优盘
2: 最后就是把U盘mount上去,这里需要先在mnt目录下面建一个usb目录
mount /dev/sda /mnt/usb
3: 优盘卸载
卸载U盘:umount /mnt/usb
二 挂载光盘
挂载光盘的命令 如下:
# mount -t is09660 /dev/cdrom /mnt/cdrom
该命令将光盘挂载到/mnt/cdrom目录,使用“ls /mnt ......
最近学习了在linux下部署项目,写写心得。
1.安装虚拟机后,配好网络,桥接最容易配,直接在linux下使用同一个网段的任意ip地址即可。顺便把vm的几个网络的服务给停了。
2.很重要的一点,把linux的安全配置设置好。并开启sshd服务
3.下载windows中需要两个工具:puttyfile_0.60cn.zip winscp403setupintl.exe
前者为远程登录工具(ssh登录),后者为文件传输工具。安装后配好网络地址
4.把下载好的jdkj传上去
5.安装好再配置环境变量
6.验证配置成功后,传tomcat,再配下tomcat
7.上传打包好的项目文件
8.开启tomcat,ok成功了!
在linux关闭图形化界面,在文本编辑模式下输入:init 3
init 6重启,init 5 重新打开图形界面,init 0关机
netconfig配置网卡属性
配置完网络参数后,再输入命令:service network restart网络服务重启
ifconfig eth0查看网卡配置
对linux进行远程管理
service sshd start
让其每次开机都自动启动
chkconfig sshd on
查看sshd服务
netstat -anp | grep :22
安装jdk:
把下载的jdk1.6.bin的执行权限改变为可执行
命令行:chmod u+x 文件名
然后执行文件即可
用到另一些参数:
ln -sf 目录或文件名 快捷方式目录或文件名 ......
1、引言
在
linux系统
下,如果你下载并安装了应用程序,很有可能在键入它的名称时出现“
command not found
”的提示内容。如果每次都到安装目标文件夹内,找到可执行文件来进行操作就太繁琐了。这涉及到环境变量
PATH
的设置问题,而
PATH
的设置也是在
linux
下定制环境变量的一个组成部分。本文基于
RedHat 9.0
,详细讲解了环境变量定制的问题。
2
、变量简介
Linux
是一个多用户的操作系统。每个用户登录系统后,都会有一个专用的运行环境。通常每个用户默认的环境都是相同的,这个默认环境实际上就是一组环境变量的定义。用户可以对自己的运行环境进行定制,其方法就是修改相应的系统环境变量。
3
、定制环境变量
环境变量是和
Shell
紧密相关的,用户登录系统后就启动了一个
Shell
。对于
Linux
来说一般是
bash
,但也可以重新设定或切换到其它的
Shell
。根据发行版本的情况,
bash
有两个基本的系统级配置文件:
/etc/bashrc
和
/etc/profile
。这些配置文件包含两组不同的变量:
shell
变量和环境变量。前者只是在特定的
shell
中固定(如
bash
),后者在不同
......
原文:http://linux.chinaunix.net/bbs/thread-793613-1-1.html
本文来自于原文内容,但是对文章的内容与结构做了简单调整。
1 介绍
考虑到从硬件层开始构建一个操作系统的难度,Adeos并没有并没有从零开始构建一个硬件抽象层;目前,Adeos是基于Linux内核实现的,这样的话,就可以将系统的启动和初始化工作都由Linux来完成,在系统完成初始化后,再进行Adeos的初始化工作(包括接管Linux的中断管理机制),Adeos功能既可以直接编译进内核,也可以作为一个内核模块在系统运行时动态加载,就和内核的驱动程序模块一样。
在这种实现方法下,Linux作为Adeos的一个特殊的域存在,我们称之为根域(Root Domain)。Adeos的很多功能都是依靠根域(也就是Linux内核)来实现的,例如,动态注册其它的域模块是通过Linux的动态模块加载功能实现的,为其它域的任务分配任务堆栈是通过Linux内存分配接口实现的等。根域的初始化是在Adeos的初始化过程中完成的;根域对于Adeos来说,有一点类似于Linux初始化过程中创建的INIT进程;
2 基本架构
Adeos在Linux配置中增加了三个配置开关来配置Adeos的代码:CONFIG_ADEOS_CORE,CONFIG_ADEOS和CONFIG_ADEOS_MODULE。如果定义了C ......
文件上传,一般分为俩种方式FTP和HTTP, 对于我们的互联网应用来说: FTP上传虽然传输稳定, 但是易用性和安全性都是个问题. 你总不至于在用户要上传头像的时候告诉用户”请打开FTP客户端,上传文件到http://www.laruence.com/uploads/中, 并以2dk433423l.jpg命名”吧?
而基于HTTP的上传,相对来说易用性和安全性上就比FTP要增强了很多. 可以应用的上传方式有PUT, WEBDAV, 和RFC1867三种, 本文将分析在PHP中,是如何基于RFC1867实现文件上传的.
RFC1867
RCF1867是Form-based File Upload in HTML标准协议, RFC1867标准对HTML做出了两处修改:
1 为input元素的type属性增加了一个file选项。
2 input标记可以具有accept属性,该属性能够指定可被上传的文件类型或文件格式列表。
另外,本标准还定义了一种新的mime类型:multipart/form-data,以及当处理一个带有enctype=”multipart/form-data” 并且/或含有<input type=”file”>的标记的表单时所应该采取的行为。
举例来说,当HTML想让用户能够上传一个或更多的文件时,他可以这么写:
<form enctype="multipart/form-data" action="upload.php" method=post>
......