Linux终止进程
from: http://www.linuxeden.com/html/develop/20090702/66531.html
bash判断进程存在的3种方法
1、ps -p
ps -p 根据给定的pid参数判断是否有这个进程。
如果有这个进程正常退出,退出值0;
如果没有这个进程异常退出,退出值1。
apple@ubuntu:~$ ps -p 2442
PID TTY TIME CMD
2442 ? 00:00:00 sshd
apple@ubuntu:~$ echo $?
0
apple@ubuntu:~$ ps -p 1234
PID TTY TIME CMD
apple@ubuntu:~$ echo $?
1
2、pgrep
pgrep根据给出的进程名判断是否有这个名字的进程。
如果有这个名字的进程正常退出,退出值0;
如果没有这个名字的进程异常退出,退出值1.
例如:
apple@ubuntu:~$ pgrep sshd
2442
2994
3003
apple@ubuntu:~$ echo $?
0
apple@ubuntu:~$ pgrep sshddd
apple@ubuntu:~$ echo $?
1
apple@ubuntu:~$
3、/proc
每个进程都会在/proc下有一个以进程PID命名的目录。
例如:
apple@ubuntu:~$ ls /proc/2442
ls: cannot read symbolic link /proc/2442/cwd: Permission denied
ls: cannot read symbolic link /proc/2442/root: Permission denied
ls: cannot read symbolic link /proc/2442/exe: Permission denied
attr clear_refs cpuset exe io loginuid mountinfo net pagemap sched smaps status wchan
auxv cmdline cwd fd latency maps mounts oom_adj personality schedstat stat syscall
cgroup coredump_filter environ fdinfo limits mem mountstats oom_score root sessionid statm task
apple@ubuntu:~$
可以根据上面的事实,编写bash脚本判断一个进程是否存在。下面以第3个事实,编写脚本。其他的脚本类似。
#!/bin/bash
if [ -z $1 ]
then
echo "N
相关文档:
例一:发送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 ......
Service Discovery Protocol(SDP)提供一种能力,让应用程序有方法发现哪种服务可用以及这种服务的特性。
服务发现协议(SDP或Bluetooth SDP)在蓝牙协议栈中对蓝牙环境中的应用程序有特殊的含意,发现哪个服务是可用的和确定这些可用服务的特征。SDP定义了bluetooth client发现可用bluetooth server服务和它们的特征的方法。 ......
作者: Sam(甄峰) sam_code@hotmail.com
thread属性:
pthread_create()中,第二个参数(pthread_attr_t)为将要创建的thread属性。通常情况下配置为NULL,使用缺省设置就可以了。
但了解这些属性,有利于更好的理解thread.
属性对象(pthread_attr_t)是不透明的,而且不能通过赋值直接进行修改。系统提供了一组函数 ......
1、将文件checkout到本地目录
svn checkout path(path是服务器上的目录)
例如:svn checkout svn://192.168.1.1/pro/domain
简写:svn co
2、往版本库中添加新的文件
svn add file
例如:svn add test.php(添加test.php)
svn add *.php( ......
1.
今天上班追了个问题,追了半天发现是fopen打开大于2G的文件有问题。
马上Google下,做个笔记:
// 定义宏,使得可以处理大文件(>4GB)
#undef _FILE_OFFSET_BITS
#define _FILE_OFFSET_BITS 64 &nb ......