一些linux 命令
#include<unistd.h>
定义函数:
int execvp(const char *file ,char * const argv []);
函数说明:
execvp()会从PATH 环境变量所指的目录中查找符合参数file 的文件名,找到后便执行该文件,然后将第二个参数argv传给该欲执行的文件。
返回值:
如果执行成功则函数不会返回,执行失败则直接返回-1,失败原因存于errno中
#include<unistd.h>
void main()
{
char * argv[ ] ={"ls","-al",0};
printf("Hello\n");
execvp("ls",argv);
printf("bye\n");
}
猜猜运行结果,呵呵,注意进程被改变。
////////////////////////////////////////////////
#include <unistd.h>
函数定义:
int fork( void );
返回值:
子进程中返回0,父进程中返回子进程ID,出错返回-1
#include <unistd.h>
#include <stdio.h>
int main(int argc, void ** argv )
{
int pid = fork();
if(pid == -1 ) {
printf("error!");
} else if( pid == 0 ) {
printf("This is the child process!, myid is %d\n", getpid());
} else {
printf("This is the parent process! child process id = %d", pid);
}
return 0;
}
#include <sys/types.h>
#include <sys/wait.h>
等待进程结束
函数定义:
pid_t wait( int *statsptr);
参数
子进程的返回结果
返回值:
被结束的进程的id
调用程序能将一个字符串类别 传给 新程序得main函数;新程序能通过调用exit来回传一个8位长得值
相关文档:
例一:发送Signaling Packet:
Signaling Command是2个Bluetooth实体之间的L2CAP层命令传输。所以得Signaling Command使用CID 0x0001.
多个Command可以在一个C-frame(control frame)中发送。
如果要直接发送Signaling Command.需要建立SOCK_RAW类型的L2CAP连接Socket。这样才有机会自己填充Command Code,Identi ......
只要看看 include/linux/init.h中的定义就清楚了:
#define core_initcall(fn) __define_initcall("1",fn)
#define postcore_initcall(fn) __define_initcall("2",fn)
#define arch_initcall(fn) &n ......
1. 进程是什么?
一个进程就是出于执行期的程序, 包括:可执行程序代码(代码段), 打开的文件, 挂起的信号, 内核内部数据, 处理器状态, 地址空间, 一个或多个执行线程, 当然还包括用来存放全局变量的数据段, 等等.
2. 什么是线程?它和进程的关系是什么样的? 线程在LINUX中具体是怎么样实现的?
是在进程中活动的对象 ......
常常有人问:我想学习内核,需要什么基础吗?Linus Torvalds本人是这样回答的:你必须使用过Linux。 这个……还是有点太泛了吧,我想下面几个基础可能还是需要的,尽管不一定必需:
1, 关于操作系统理论的最初级的知识。不需要通读并理解《操作系统概念》《现代操作系统》等巨著,但总要知道分时(t ......
错误印象和认识罗列如下,一一解释:
1。linux下的软件太少
回答:linux 下的软件一点也不少。windows还在娘肚子里的时候,Unix已经如日中天了。要知道微软公司开发的第一个操作系统是什么吗?是一个叫做Xenix的东西,是Unix的一个分支,后来才去搞DOS的。有人又问了,Unix不是Linux阿,要知道,Linux完全重新的实现了Uni ......