批量结束linux进程

这里 php timer.php 进程是使用swoole来搞的一个crond服务,用来定时采集一些数据

用ps显示的有以下进程

root 6583 0.0 0.2 219676 4872 ? Ss 10:46 0:00 php-fpm: master process (/usr/local/php/etc/php-fpm.conf)
www 7076 2.7 1.0 304928 19920 ? S 11:32 0:05 php-fpm: pool www
www 7077 3.0 1.4 312964 26940 ? S 11:32 0:05 php-fpm: pool www
www 7117 2.5 1.2 310668 23724 ? S 11:35 0:01 php-fpm: pool www
root 7121 0.0 0.2 331188 4500 ? Ssl 11:36 0:00 php timer.php
root 7122 0.0 0.2 257012 4168 ? S 11:36 0:00 php timer.php
root 7124 0.0 0.2 242940 5060 ? S 11:36 0:00 php timer.php
root 7125 0.0 0.2 243052 4504 ? S 11:36 0:00 php timer.php
root 7126 0.0 0.2 243052 4504 ? S 11:36 0:00 php timer.php
root 7127 0.0 0.2 243052 4504 ? S 11:36 0:00 php timer.php
root 7128 0.0 0.2 243052 4504 ? S 11:36 0:00 php timer.php
root 7129 0.0 0.2 243052 4504 ? S 11:36 0:00 php timer.php
root 7130 0.0 0.2 243052 4504 ? S 11:36 0:00 php timer.php
root 7131 0.0 0.2 243052 4504 ? S 11:36 0:00 php timer.php
root 25224 0.0 0.0 0 0 ? S< 2016 0:00 [kcopyd]
root 25225 0.0 0.0 0 0 ? S< 2016 0:00 [bioset]
root 25226 0.0 0.0 0 0 ? S< 2016 0:00 [dm-thin]
root 25227 0.0 0.0 0 0 ? S< 2016 0:00 [bioset]
root 25235 0.0 0.0 0 0 ? S< 2016 0:00 [xfsalloc]
root 25236 0.0 0.0 0 0 ? S< 2016 0:00 [xfs_mru_cache]
root 25804 0.0 0.0 0 0 ? S< 2016 0:00 [kworker/0:0H]
root 26091 0.0 0.0 0 0 ? S< 2016 0:47 [kworker/0:1H]

单独结束一个进程的时候,可以使用 kill -9 进程ID,而如果有许多个同命令的进程的话,则可以同样使用此命令进行批量结束

kill `ps -ef|grep 'php timer.php'| grep -v grep|awk '{print $2}'`

其中

ps -ef|grep 'php timer.php'| grep -v grep|awk '{print $2}'

是用来过滤所有相关进程id

如何用十条命令在一分钟内检查Linux服务器性能

如果你的Linux服务器突然负载暴增,报警短信快发爆你的手机,如何在最短时间内找出Linux性能问题所在?来看Netflix性能工程团队的这篇博文,看它们通过十条命令在一分钟内对机器性能问题进行诊断。
概述

通过执行以下命令,可以在1分钟内对系统资源使用情况有个大致的了解。

  • uptime
  • dmesg | tail
  • vmstat 1
  • mpstat -P ALL 1
  • pidstat 1
  • iostat -xz 1
  • free -m
  • sar -n DEV 1
  • sar -n TCP,ETCP 1
  • top

其中一些命令需要安装sysstat包,有一些由procps包提供。这些命令的输出,有助于快速定位性能瓶颈,检查出所有资源(CPU、内存、磁盘IO等)的利用率(utilization)、饱和度(saturation)和错误(error)度量,也就是所谓的USE方法。 Continue reading

Linux 之 /etc/profile、~/.bash_profile 等几个文件的执行过程

在登录Linux时要执行文件的过程如下:
在刚登录Linux时,首先启动 /etc/profile 文件,然后再启动用户目录下的 ~/.bash_profile、 ~/.bash_login或 ~/.profile文件中的其中一个,

执行的顺序为:~/.bash_profile~/.bash_login~/.profile

如果 ~/.bash_profile文件存在的话,一般还会执行 ~/.bashrc文件。

因为在 ~/.bash_profile文件中一般会有下面的代码:

if [ -f ~/.bashrc ] ; then
. ./bashrc
fi

~/.bashrc中,一般还会有以下代码:

if [ -f /etc/bashrc ] ; then
. /etc/bashrc
fi

所以,~/.bashrc会调用 /etc/bashrc文件。最后,在退出shell时,还会执行 ~/.bash_logout文件。 Continue reading

ps和pstree

ps和pstree是用于系统分析的基本命令。ps有3中不同风格的命令选项,UNIX风格、BSD风格和GNU风格。这里我们只介绍UNIX风格选项。

ps命令可以显示当前运行的进程列表。top命令也可以显示进程信息,但ps可以提供更加详细的内容。使用相应选项可以影响进程显示的数量。ps -A命令可以列出所有进程及其相应的进程ID(PID),当我们使用如pmap或renice等工具时会用到此PID。 Continue reading

关于Linux操作系统源代码查看工具的介绍

a、Windows系统可以用Source Insight,Linux系统可以用Source Navigator。

b、vim或emacs编辑器,配合cscope、ctags、etags等交叉索引工具。

c、vim或emacs编辑器,配合grep、egrep等文本搜索工具,不过最好要对源代码目录结构有所熟悉

d、LXR,以网页的形式通过浏览器浏览,安装复杂(debian下安装容易,请版面搜寻lxr)

e、GNU global,可以在命令行用,也可以生成hypertext,类似lxr,但更省事。

Source Insight3.5(含Key)下载

FreeBSD/Linux检测硬盘坏道

Linux检测硬盘坏道

badblocks

功能说明:检查磁盘装置中损坏的区块。

语法:badblocks [-svw][-b ][-o ][磁盘装置][磁盘区块数][启始区块]

补充说明:执行指令时须指定所要检查的磁盘装置,及此装置的磁盘区块数。

参数:

-b 指定磁盘的区块大小,单位为字节。

-o 将检查的结果写入指定的输出文件。

-s 在检查时显示进度。

-v 执行时显示详细的信息。

-w 在检查时,执行写入测试。

[磁盘装置] 指定要检查的磁盘装置。

[磁盘区块数] 指定磁盘装置的区块总数。

[启始区块] 指定要从哪个区块开始检查。

badblocks 检测磁盘坏块

1)$badblocks -s //显示进度 -v //显示执行详细情况 /dev/sda1

2)读写方式检测 未挂载的磁盘设备或分区

$badblocks -s //显示进度 -w //以写去检测 -v //显示执行详细情况 /dev/sda2

========================= Continue reading

Linux性能测试工具Lmbench介绍和使用说明

Linux性能测试工具Lmbench是一套简易可移植的,符合ANSI/C标准为UNIX/POSIX而制定的微型测评工具。一般来说,它衡量两个关键特征:反应时间和带宽。Lmbench旨在使系统开发者深入了解关键操作的基础成本。

1、Lmbench的使用与介绍

Linux性能测试工具Lmbench是一套简易可移植的,符合ANSI/C标准为UNIX/POSIX而制定的微型测评工具。一般来说,它衡量两个关键特征:反应时间和带宽。Lmbench旨在使系统开发者深入了解关键操作的基础成本。其官方网站是:http://www.bitmover.com/lmbench/。
2、Lmbench主要功能
带宽测评工具反应时间测评工具其他读取缓存文件
拷贝内存
读内存
写内存
管道
TCP上下文切换
网络:连接的建立,管道,TCP,UDP和RPChotpotato
文件系统的建立和删除
进程创建
信号处理
上层的系统调用
内存读入反应时间处理器时钟比率计算 Continue reading

device 0 has different MAC address than expected 的解决办法

今天克隆了一份vm(centos),发现重启网卡的时候提示"device 0 has different MAC address than expected..."之类的错误,手动修改mac地址也不行.后来找到一种解决办法如下:

删除 HWADDR 一行,然后执行ifconfig和service network restart命令.然后用ifconfig命令查看就会发现已经可以正常使用了.

不过在eth0文件里HWADDR这一行系统并没有自动添加上的.

如何查看linux版本

如何得知自己正在使用的linux是什么版本呢,下面的几种方法将给你带来答案!

1. 查看内核版本命令:

 1) [root@q1test01 ~]# cat /proc/version 

Linux version 2.6.9-22.ELsmp (bhcompile@crowe.devel.redhat.com) (gcc version 3.4.4 20050721 (Red Hat 3.4.4-2)) #1 SMP Mon Sep 19 18:00:54 EDT 2005

  2) [root@q1test01 ~]# uname -a 

Linux q1test01 2.6.9-22.ELsmp #1 SMP Mon Sep 19 18:00:54 EDT 2005 x86_64 x86_64 x86_64 GNU/Linux

 3) [root@q1test01 ~]# uname -r 

2.6.9-22.ELsmp Continue reading