查看Linux某端口被哪个进程占用

例如:

nginx: [emerg] bind() to 0.0.0.0:8004 failed (98: Address already in use) 1.查看占用8004端口的进程ID:
$ netstat -anp |grep 8004
tcp  0  0 0.0.0.0:8004  0.0.0.0:*  LISTEN  2768/nginx.conf
2.查看进程信息:
$ ps -u -p 2768
USER  PID %CPU %MEM   VSZ  RSS TTY      STAT START   TIME COMMAND

work 2768  0.0  0.5 385344 353712 ?     Ss   Mar28   0:00 nginx: master process /home/work/odp/nginx/sbin/nginx -p/home/work/odp/nginx -c /home/

3.根据实际情况修改端口或停止原进程

curl并发请求时hhvm经常core问题解决方法

现象:最近开发的模块需要并发请求多个url以减少响应时间,但在调试时发现在hhvm下使用curl_multi_exec()并发请求函数时hhvm经常会挂掉。 本机hhvm版本:
./search/pae/hhvm/bin/hhvm –version
HipHop VM v2.2.0 (rel)
Compiler: 1395202646_940937479
Repo schema: 941740069_1395202646
本机gcc版本:
ll /opt/compiler/
gcc-4.8.2 -> /home/opt/gcc-4.8.2.bpkg-r2/gcc-4.8.2.bpkg-r2
原因:hhvm版本与gcc版本不兼容,需要把gcc降一个小版本到4.8.1。 步骤: 1.下载gcc4.8.1
cd /home/work/tools/
  2.停止本机所有hhvm服务及守护进徎   3.安装gcc4.8.1
./gcc-4.8.1.04-installer.bin /opt/compiler/gcc-4.8.1/
4.修改hhvm使用的gcc版本

<div

阅读全文

小猪学arduino—HelloWorld

1 |编写交互示例代码

板子检测监听指定端口,收到‘R’指令时,闪烁LED500毫秒,并打印‘Hello World!’。

代码如下:

int val;//定义变量val int ledpin=13;//定义数字接口13 void setup() { Serial.begin(9600);//设置波特率为9600,这里要跟软件设置相一致。当接入特定设备(如:蓝牙)时,我们也要跟其他设备的波特率达到一致。 pinMode(ledpin,OUTPUT);//设置数字13 口为输出接口,Arduino 上我们用到的I/O

阅读全文

小猪学arduino—Mac OS X系统上Arduino环境搭建

12

1 | 获得Arduino开发板和USB连接线

在这个教程里,我们默认你用的是一块Uno. 如果你使用的是其他电路板,请在开始介绍手册里面阅读对应的内容。

你也可以用一条标准的USB线 (A 接口对B接口),比如说你连接到打印机USB接口用的线。

  

2 | 下载Arduino软件(IDE)

通过下载页面下载最新版Arduino软件(IDE)。

阅读全文

避免误删,自己搭建linux回收站

相信不少人都遇到过误删了在Linux虚拟机中写的程序文件,使忙活了半天的工作功亏一篑。其实可以通过alias rm为mv动作来解决误删问题。具体如下。

1、编写回收站脚本 vim /bin/rm.sh #!/bin/sh dirpath=/data/Recycle # 选择回收站所在的分区目录 now=`date +%Y%m%d_%H_%M_%S_` filename=${now}$1 # 给已经删除的文件加一个时间前缀来标识删除时的精准时间 if [ ! -d ${dirpath} ];then /bin/mkdir -p ${dirpath} fi /bin/mv $1 ${dirpath}/${filename}

2、设置alias rm
chmod 755 /bin/rm.sh
echo “alias rm=’/bin/rm.sh'” >> /etc/bashrc

3、删除文件测试 rm /root/text.txt 此时,text.txt文件就会被mv 到 回收站目录

阅读全文

Linux History记录添加时间戳

熟悉bash的都一定知道使用history可以输出你曾经输入过的历史命令,例如 :
[root@YAN ~]# history | more
6 ./test.sh
7 vim test.sh
8 ./test.sh
但是这里只显示了命令,并没有显示执行命令的时间,因为保存历史命令的~/.bash_history里并没有保存时间。

通过设置环境变量 export HISTTIMEFORMAT=”`whoami` %F %T ” 给history加上时间戳

[root@YAN ~]# export HISTTIMEFORMAT=”`whoami` %F %T ” [root@YAN ~]# history

阅读全文

samba的安装与使用

samba主要用于linux向window共享文件,本文讲解如何在linux中安装、配置并在windows挂载。

1.centos安装samba yum install samba samba-client samba-swat rpm -qa |grep samba        #查看安装状况 /etc/init.d/smb restart     #启动Samba服务器 service smb status         #查看samba的服务启动情况 chkconfig –level 35

阅读全文

linux lsof命令详解

简介

lsof(list open files)是一个列出当前系统打开文件的工具。在linux环境下,任何事物都以文件的形式存在,通过文件不仅仅可以访问常规数据,还可以访问网络连接和硬件。所以如传输控制协议 (TCP) 和用户数据报协议 (UDP) 套接字等,系统在后台都为该应用程序分配了一个文件描述符,无论这个文件的本质如何,该文件描述符为应用程序与基础操作系统之间的交互提供了通用接口。因为应用程序打开文件的描述符列表提供了大量关于这个应用程序本身的信息,因此通过lsof工具能够查看这个列表对系统监测以及排错将是很有帮助的。

输出信息含义

在终端下输入lsof即可显示系统打开的文件,因为 lsof 需要访问核心内存和各种文件,所以必须以 root 用户的身份运行它才能够充分地发挥其功能。

直接输入lsof部分输出为:

COMMAND PID USER FD TYPE DEVICE SIZE/OFF NODE NAME init 1 root cwd DIR 8,1 4096 2 / init 1 root rtd DIR 8,1 4096 2 / init 1 root txt REG 8,1 150584 654127 /sbin/init udevd 415 root 0u CHR

阅读全文

df磁盘满了但是du未满时的处理

现象:
df看硬盘满了,但是du实际文件没占满。
$ df -h
/dev/sda6 1.3T 1.3T 0 100% /home
$ du -sh /home/
371G /home/

原因:
有些文件被删了,但是文件句柄还没有释放(进程占用), 所以导致文件的空间没有清理出来,需要把进程杀了。
以下命令会列出这些文件和进程:
lsof |grep delete

CentOs 6.x 升级 Python 版本

在CentOS 6.X 上安装 Python 2.7.X

CentOS 6.x 自带的python版本是 2.6 , 由于工作需要,很多时候需要2.7版本。所以需要进行版本升级。由于一些系统工具和服务是对 Python 有依赖的,所以升级 Python 版本需要注意。

升级步骤

如何欢乐的,没有痛苦的升级python版本 ,往下看 …

更新系统和开发工具集

更新指令

yum -y update
yum groupinstall -y 'development tools'

另外还需要安装 python 工具需要的额外软件包 SSL, bz2, zlib

yum install -y zlib-devel bzip2-devel openssl-devel xz-libs wget

源码安装Python 2.7.x

wget http://www.python.org/ftp/python/2.7.8/Python-2.7.8.tar.xz
xz -d Python-2.7.8.tar.xz
tar -xvf Python-2.7.8.tar

安装详情:

# 进入目录: cd Python-2.7.8

阅读全文

php-fpm进程数优化

1、php-fpm优化参数介绍
他们分别是:pm、pm.max_children、pm.start_servers、pm.min_spare_servers、pm.max_spare_servers。

pm:表示使用那种方式,有两个值可以选择,就是static(静态)或者dynamic(动态)。
在更老一些的版本中,dynamic被称作apache-like。这个要注意看配置文件的说明。

下面4个参数的意思分别为:

pm.max_children:静态方式下开启的php-fpm进程数量<br

阅读全文

线上webserver配置优化

nginx/conf/nginx.conf
1.worker_processes
nginx要开启的进程数,一般等于cpu的总核数。
开发机示例:
worker_processes 2;
线上机示例:
worker_processes 8; //线上最大开到8即可

2.worker_cpu_affinity 使用该选项可以绑定worker进程和CPU,使各进程使用独立的cpu内核。 线上机示例: //对应worker_processes配置的个数 worker_cpu_affinity

阅读全文