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
相关文档:
在配置Apache James Mail Server 的时候,Linux 默认占用了25号端口,需要把它关掉才能运行James Mail Server。
nmap localhost : 查看占用的端口。
由于服务是由守护进程维护,所以 找到该服务的PID,然后kill掉就OK了。
netstat -anep | grep 25
tcp 0 & ......
linux 打包命令tar:
tar cvf my.tar file1 // 单个文件
tar cvf my.tar file1 file2 .. // 多个文件
tar cvf my.tar dir1 // 单个目录
tar cvf my.tar dir1 dir2 .. // 多个目录
以上仅打包并无压缩。
参数:
-c :建立一个压缩文件的参数指令(create 的意思);
-x :解开一个压缩文件的参数指令!
- ......
Linux中查找文件的命令通常为“find”命令,“find”命令能帮助我们在使用, 管理Linux的日常事务中方便的查找出我们需要的文件。对于Linux新手来说,“find” 命令也是了解和学习Linux文件特点的方法。因为Linux发行版本繁多,版本升级很快, 在Linux书籍上往往写明某个配置文件的所在位置, ......
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( ......
今天在数据库中插入了中文,发现有的是乱码,有的不是,很是纳闷。
最后找到了解决办法:
打开 /etc/mysql/my.cnf
在[mysqld]和[client]节下分别添加:
default-character-set = utf8
然后重新启动mysql,需要注意的是,对修改以前创建的数据库来说,他的字符集还是原来的,所以还是会出现乱马,而新创建的数据 ......