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
相关文档:
1. HCI层协议概述:
HCI提供一套统一的方法来访问Bluetooth底层。如图所示:
从图上可以看出,Host Controller Interface(HCI) 就是用来沟通Host和Module。Host通常就是PC, Module则是以各种物理连接形式(USB,serial,pc-card等)连接到PC上的bluetooth Dongle。
在Host这一端:application,SDP,L2cap等协议 ......
随着 Linux 操作系统的广泛应用,特别是 Linux 在嵌入式领域的发展,越来越多的人开始投身到 Linux 内核级的开发中。面对日益庞大的 Linux 内核源代码,开发者在完成自己的内核代码后,都将面临着同样的问题,即如何将源代码融入到 Linux 内核中,增加相应的 Linux 配置选项,并最终被编译进 Linux 内核。这就需要了解 Linu ......
作者:Sam(甄峰) sam_cdoe@hotmail.com
1.创建thread.
int pthread_create(pthread_t *restrict thread, const pthread_attr_t *restrict attr,
void *(*start_routine)(void*), void *restrict arg);
参数1:pthread_t *restrict t ......
今天在数据库中插入了中文,发现有的是乱码,有的不是,很是纳闷。
最后找到了解决办法:
打开 /etc/mysql/my.cnf
在[mysqld]和[client]节下分别添加:
default-character-set = utf8
然后重新启动mysql,需要注意的是,对修改以前创建的数据库来说,他的字符集还是原来的,所以还是会出现乱马,而新创建的数据 ......
<!--
@page { margin: 2cm }
P { margin-bottom: 0.21cm }
-->
发展
Linux
的最终目的是带给人们一个完美的桌面(
Desktop
)
,
用于工作和娱乐,其余事情都是第二位的。这话说得有点绝对,但是,现在不得不这么说。为什么?
&n ......