python利用flask框架和tornado框架搭建api微服务——Linux下查看某个端口对应的进程并kill进程的操作(关闭API服务进程)(五)

目 录

1.python利用flask框架和tornado框架搭建api微服务——HelloWorld的实现(一)

2.python利用flask框架和tornado框架搭建api微服务——结合html网页实现get和post(二)

3.python利用flask框架和tornado框架搭建api微服务——连接数据库返回带参求情结果(三)

4.python利用flask框架和tornado框架搭建api微服务——python虚拟机启动API(四)

5.python利用flask框架和tornado框架搭建api微服务——Linux下查看某个端口对应的进程并kill进程的操作(关闭API服务进程)(五)

6.python利用flask框架和tornado框架搭建api微服务——完善API文档以及API调用(六)

背 景

  自己起了一个python的微服务api端口7000,但是我现在想关闭他,该怎么办呢?

查询某个端口对应的进程

  查询端口对应的进程指令是netstat,我们可以在shell环境下netstat help一下,可以查到netstat的所有参数作用,如下

[hadoop@shucang-10 main]$ netstat help

usage: netstat [-veenNcCF] [<Af>] -r         netstat {-V|--version|-h|--help}
      netstat [-vnNcaeol] [<Socket> ...]
      netstat { [-veenNac] -I[<Iface>] | [-veenNac] -i | [-cnNe] -M | -s } [delay]

       -r, --route                display routing table            #显示路由表
       -I, --interfaces=<Iface>   display interface table for <Iface>  #显示网络接口表
       -i, --interfaces           display interface table  #显示网络接口表
       -g, --groups               display multicast group memberships      #显示多播组成员
       -s, --statistics           display networking statistics (like SNMP)    #显示网络统计数据,如IP/ICMP/SNMP/..各协议统计。
       -M, --masquerade           display masqueraded connections     #显示伪装的连接

       -v, --verbose              be verbose   #详细信息
       -n, --numeric              don't resolve names     #不做名字解析
       --numeric-hosts            don't resolve host names     #不做主机名解析
       --numeric-ports            don't resolve port names     #不做端口名解析
       --numeric-users            don't resolve user names     #不做用户名解析
       -N, --symbolic             resolve hardware names   
       -e, --extend               display other/more information   #显示更多信息,用户名,inode
       -p, --programs             display PID/Program name for sockets     #显示pid和程序名字
       -c, --continuous           continuous listing   #持续的列出相关信息

       -l, --listening            display listening server sockets     #显示处于监听状态的套接字
       -a, --all, --listening     display all sockets (default: connected)     #显示所有的套接字
       -o, --timers               display timers       #显示计时器
       -F, --fib                  display Forwarding Information Base (default)       #使用-rF查看路由表时,显示转发信息
       -C, --cache                display routing cache instead of FIB     #使用-rC查看路由表时,显示详细的路由缓存
       -T, --notrim               stop trimming long addresses     #停止修剪长地址
       -Z, --context              display SELinux security context for sockets     #显示套接字的SELINUX上下文

 <Iface>: Name of interface to monitor/list.
 <Socket>={-t|--tcp} {-u|--udp} {-S|--sctp} {-w|--raw} {-x|--unix} --ax25 --ipx --netrom
 <AF>=Use '-A ' or '--'; default: inet
 List of possible address families (which support routing):
   inet (DARPA Internet) inet6 (IPv6) ax25 (AMPR AX.25) 
   netrom (AMPR NET/ROM) ipx (Novell IPX) ddp (Appletalk DDP) 
   x25 (CCITT X.25) 

  因为我是知道了我的python微服务端口是7000,所以,我直接把端口的netstat -tunlp的结果管道给grep 7000,查询到这个python微服务的进程id为20661。

[hadoop@shucang-10 main]$ netstat -tunlp|grep 7000
(Not all processes could be identified, non-owned process info
 will not be shown, you would have to be root to see it all.)
tcp        0      0 0.0.0.0:7000            0.0.0.0:*               LISTEN      20661/python
tcp6       0      0 :::7000                 :::*                    LISTEN      20661/python

查询某个进程id对应的进程

  其实到这里就可以直接kill -9 20661来关闭该进程了,但是保险起见,还是选择看一下该进程的明细,使用ps指令

[hadoop@shucang-10 main]$ ps --help s

Usage:
 ps [options]

Basic options:
 -A, -e               all processes
 -a                   all with tty, except session leaders
  a                   all with tty, including other users
 -d                   all except session leaders
 -N, --deselect       negate selection
  r                   only running processes
  T                   all processes on this terminal
  x                   processes without controlling ttys

  使用ps -ef | grep python查询下,果然进程id=20661 就是我自己的脚本iot_location_desc_match.py


(base) [hadoop@shucang-10 main]$ ps -ef | grep python
root      1602     1  0  2019 ?        00:40:23 /usr/bin/python -Es /usr/sbin/tuned -l -P
root      1722     1  0  2019 ?        00:00:00 /usr/bin/python /usr/bin/salt-minion
root      2402  1722  0  2019 ?        01:45:20 /usr/bin/python /usr/bin/salt-minion
root      2664  2402  0  2019 ?        00:00:00 /usr/bin/python /usr/bin/salt-minion
hadoop   20661 20006  0 14:28 pts/4    00:00:00 python iot_location_desc_match.py
hadoop   29138  1465  0 15:12 pts/0    00:00:00 grep --color=auto python

关闭某个进程

  直接使用指令kill。

#-9参数表示强行关闭
kill -9 20661  

  然后再次访问这个python的微服务api的时候,就发现已经访问不了了。

你可能感兴趣的:(Linux,Python,微服务API)