win/linux 下查看端口占用

win下查看端口:
cmd命令

根据端口查看占用进程/PID: netstat -aon|findstr 8080

根据PID查看占用服务: tasklist|findstr 10612

打开任务管理器,找到对应的进程,结束进程
根据服务名关闭进程(尽量不用): taskkill /f /t /im java.exe

linux下查看端口:
根据端口查看占用进程/PID: netstat -anp |grep 8005

查看java相关进程: ps -ef | grep java
停止相关进程(PID=第二列数字): kill -9 [PID]


linux ps查询进程,出现两个进程

1
2
3
4
5
6
7
[root@ADM01B ~]# ps -ef|grep iesmgr
root      5929  5321  0 09:38 pts/7    00:00:00 grep iesmgr
root      9798     1  0 Jun28 ?        00:00:05 iesmgr
[root@ADM01B ~]# kill -9 5929
-bash: kill: (5929) - 没有那个进程
[root@ADM01B ~]# kill -9 9798
[root@ADM01B ~]#

当我在linux系统下查询某个程序的进程时出现两个进程,进程号分别为5929和9798
我想把该进程杀掉 kill -9 5929,但是显示没有那个进程,然后我又杀掉9798这个进程kill -9 9798,成功杀掉了。

对此现象疑惑不解。为啥有这个进程,kill的时候有显示没有。
最后通过查资料知道,ps -ef|grep iesmgr命令其实是分两步完成的。第一步执行ps -ef查询所有进程,第二步执行grep iesmgr过滤出进程中带有iesmgr关键字的进程。

这样就出现了一个问题:其中grep iesmgr这个命令本身执行的时候也是个进程,并且也带有关键字iesmgr。所以也会显示出来,这其实是grep进程,而不是iesmgr进程。grep进程在命令执行完之后就结束了,所以kill该进程的时候显示-bash: kill: (5929) – 没有那个进程 。

如果不想显示grep进程怎么办,可以使用下面的命令:
# ps -ef|grep iesmgr |grep -v grep

grep的-v参数是取反,也就是说grep -v grep是过滤掉那些带grep关键字进程,即把grep iesmgr这个进程过滤掉。

补充:

ps命令
ps [选项]
下面对命令选项进行说明:
-e 显示所有进程。
-f 全格式。
-h 不显示标题。
-l 长格式。
-w 宽输出。
a 显示终端上的所有进程,包括其他用户的进程。
r 只显示正在运行的进程。
u  以用户为主的格式来显示程序状况。
x 显示所有程序,不以终端机来区分。

grep命令
grep [options]
[options]主要参数:
-c:只输出匹配行的计数。
-I:不区分大 小写(只适用于单字符)。
-h:查询多文件时不显示文件名。
-l:查询多文件时只输出包含匹配字符的文件名。
-n:显示匹配行及 行号。
-s:不显示不存在或无匹配文本的错误信息。
-v:显示不包含匹配文本的所有行。


在VPS上离线下载PT/BT/磁力链:CentOS下transmission安装教程

首先安装 epel 源 :

1
yum install -y epel-release

然后安装 transmission:

1
yum install transmission transmission-daemon

启动 生成默认的配置文件
service transmission-daemon start

修改配置文件
vi /var/lib/transmission/.config/transmission/settings.json

第一行是打开用户认证,三四行是登录用户名及密码,自行设定一下就 OK,最后一行是关闭白名单,这样就可以随处登录离线下载了:

1
2
3
4
5
6
"rpc-authentication-required": true,
"rpc-enabled": true,
"rpc-password": "管理密码密码",
"rpc-username": "管理用户名",
"rpc-whitelist-enabled": false,
"download-dir": "/var/lib/transmission/Downloads"  下载完后文件存放目录

访问:
http://vps 的 ip:9091



Linux之 prefix 命令

linux安装软件采用源码安装灵活自由,适用于不同的平台,维护也十分方便。

源码的安装一般由3个步骤组成:

配置(configure)

编译(make)

安装(make install)

安装方法:

具体的安装方法一般作者都会给出文档,这里说明配置(configure)的prefix选项

以安装supersparrow-0.0.0为例,我们打算把他安装到目录 /usr/local/supersparrow,于是在supersparrow-0.0.0目录执行带选项的脚本

./configure –prefix=/usr/local/supersparrow

执行成功后再编译、安装(make,make install);安装完成将自动生成目录supersparrow,而且该软件任何的文档都被复制到这个目录。为什么要指定这个安装目录?是为了以后的维护方便,假如没有用这个选项,安装过程结束后,该软件所需的软件被复制到不同的系统目录下,很难弄清楚到底复制了那些文档、都复制到哪里去了-基本上是一塌糊涂。

用了-prefix选项的另一个好处是卸载软件或移植软件。当某个安装的软件不再需要时,只须简单的删除该安装目录,就能够把软件卸载得干干净净;移植软件只需拷贝整个目录到另外一个机器即可(相同的操作系统)。

一个小选项有这么方便的作用,建议在实际工作中多多使用。


ˆ Back To Top