Linux 基礎(chǔ)教程 37-進(jìn)程命令

pidof

? ? 我們知道每個(gè)小孩一出生就會(huì)一個(gè)全國(guó)唯一的編號(hào)來(lái)對(duì)其進(jìn)行標(biāo)識(shí),用于以后上學(xué),辦社保等,就是我們的身份證號(hào)。那么在Linux系統(tǒng)中,用來(lái)管理運(yùn)行程序的標(biāo)識(shí)叫做PID,就是大家熟知的進(jìn)程ID。那么如何來(lái)找到程序的PID了,那么就需要用到命令pidof,其功能主要用來(lái)查看運(yùn)行程序的PID。

基本用法

pidof [選項(xiàng)] [程序名]

其常用選項(xiàng)參數(shù)如下所示:

選項(xiàng) 說(shuō)明
-s 僅返回一個(gè)PID
-c 僅返回具有相同root目錄的PID
-x 顯示由腳本開啟的進(jìn)程
-o omitpid 忽略指定的PID
pidof命令的返回值通常只有兩個(gè):
- 0:pidof命令至少找到一個(gè)對(duì)應(yīng)的PID
- 1:pidof沒有找到任何匹配的PID

用法示例

1、顯示運(yùn)行程序的PID

[root@localhost ~]# pidof sshd
34128 34059 28835 28820 24697 24627 23228 23215 1995

在顯示的結(jié)果可以看到共有9個(gè)PID,則說(shuō)明服務(wù)器上9個(gè)進(jìn)程均是由sshd啟動(dòng)的。

2、顯示Shell的進(jìn)程

[root@localhost ~]# cat test.sh
#!/bin/bash
i=1;
while [ $i -le 10000 ]
do
 echo $i
 i=$((i+1))
 sleep 120s
done
[root@localhost ~]# ./test.sh &
[root@localhost ~]# pidof -x test.sh
36554

3、顯示指定程序的PID

[root@localhost ~]# pidof -s sshd
7524

4、忽略指定的PID

[root@localhost ~]# pidof sshd
9104 9103 7524 7434 4474 4462 1995
[root@localhost ~]# pidof sshd -o 1995
11979 11978 7524 7434 4474 4462

lsof

? ? 在Windows中刪除文件時(shí),會(huì)出現(xiàn)被占用而暫時(shí)無(wú)法刪除的情況,這個(gè)我們會(huì)一款非常好用的軟件Unlocker,那么在Linux中類似的情況如何處理了?今天我們來(lái)學(xué)習(xí)lsof命令。
? ? lsof全稱list open files。用于查看進(jìn)程打開的文件、目錄和套接字等信息。

基本用法

lsof [選項(xiàng)] [文件名]

其常用選項(xiàng)參數(shù)如下所示:

選項(xiàng) 說(shuō)明
-?或-h 顯示幫助信息
-a 顯示打開文件存在的進(jìn)程
-c 進(jìn)程名 顯示指定進(jìn)程所打開的文件
-d FD 顯示文件描述符(FD)占用的進(jìn)程
+d 目錄名 顯示當(dāng)前目錄下被打開的文件
+D 目錄名 遞歸顯示當(dāng)前目錄下被打開的文件
-i 條件 顯示符合條件的進(jìn)程
-p pid 顯示指定PID打開的文件
-u uid 顯示指定UID打開的文件
-g 顯示所屬組標(biāo)識(shí)符PGID
R 顯示父進(jìn)程PPID

其中選項(xiàng) -i 支持的條件如下所示:

條件 說(shuō)明 示例
4/6 IPv4/ IPv6 lsof -i
protocol UDP/TCP lsof -i TCP
hostname 網(wǎng)絡(luò)主機(jī)名 lsof -i@localhost
hostaddr 網(wǎng)絡(luò)地址 lsof -i@192.168.8.8
service 服務(wù)名稱,可查看/etc/services lsof -i:ssh
port 端口 lsof -i:22

lsof輸出的詳細(xì)信息解釋如下:

  • COMMAND:進(jìn)程名稱,如果名稱較長(zhǎng),則默認(rèn)只顯示前9個(gè)字符
  • PID:進(jìn)程標(biāo)識(shí)符,如果添加-R參數(shù),則顯示父進(jìn)程PPID
  • USER:進(jìn)程所有者,如果添加-g參數(shù),則顯示組標(biāo)識(shí)符PGID
  • FD:文件描述符
  • TYPE:文件類型,常見類型如下所示:
    DIR:表示目錄
    REG:表示普通文件
    CHR:表示字符類型
    BLK:表示塊設(shè)備類型
    UNIX:表示UNIX套接字
    FIFO:表示先進(jìn)先出隊(duì)列
    IPv4:表示IPv4套接字
    IPv6:表示IPv6套接字

文件描述符FD,但卻可以表示兩類內(nèi)容:

  • 第一類是文件描述符
    0:標(biāo)準(zhǔn)輸入
    1:標(biāo)準(zhǔn)輸出
    2:標(biāo)準(zhǔn)錯(cuò)誤輸出
    n:其他文件描述符的數(shù)值
01文件描述符.jpg
  • 第二類描述文件特征的標(biāo)識(shí)
    CWD:表示應(yīng)用程序的當(dāng)前工作目錄,即程序啟動(dòng)的目錄
    txt:表示文件類型為程序代碼或數(shù)據(jù)
    mem:內(nèi)存映射文件
    pd:父目錄
    rtd:根目錄
    DEL:表示文件已經(jīng)刪除但還存在于內(nèi)存中

用法示例

1、通過(guò)文件定位占用的進(jìn)程

[root@localhost ~]# top -d 2 > top.txt
[root@localhost ~]# lsof top.txt
lsof:WARNING: can't stat() fuse.gvfsd-fuse file system /run/user/1000/gvfs
  Output information may be incomplete.
COMMAND  PID USER   FD   TYPE DEVICE SIZE/OFF      NODE NAME
top     8900 root    1w   REG    8,2    69035 469790741 top.txt

2、通過(guò)文件描述符定位進(jìn)程

[root@localhost ~]# lsof -d 5 | head -3
lsof:WARNING: can't stat() fuse.gvfsd-fuse file system /run/user/1000/gvfs
   Output information may be incomplete.
COMMAND  PID  USER   FD   TYPE      DEVICE SIZE/OFF NODE       NAME
systemd  1    root   5u   a_inode   0,10     0     7450       [signalfd]
Xvnc     2678 root   5u   IPv6      41776    0t0   TCP *:6003 (LISTEN)

3、通過(guò)進(jìn)程定位文件

[root@localhost ~]# ps -ef |grep -i  mysql | grep -v grep
mysql 2680  1  2 7月19 ?  11:44:50 /usr/libexec/mysqld --basedir=/usr
[root@localhost ~]# lsof -p 2680 | head -3
lsof:WARNING: can't stat() fuse.gvfsd-fuse file system /run/user/1000/gvfs
     Output information may be incomplete.
COMMAND  PID  USER   FD    TYPE  DEVICE SIZE/OFF  NODE   NAME
mysqld  2680  mysql  cwd   DIR   8,2    4096      319571 /var/lib/mysql
mysqld  2680  mysql  rtd   DIR   8,2    254       512    /

4、查看用戶打開的文件

[root@localhost ~]# lsof -u root | tail -3
lsof:WARNING: can't stat() fuse.gvfsd-fuse file system /run/user/1000/gvfs
   Output information may be incomplete.
COMMAND   PID   USER  FD     TYPE DEVICE  SIZE/OFF NODE NAME
kworker/3 39337 root  cwd    DIR  8,2     254      512  /
kworker/3 39337 root  rtd    DIR  8,2     254      512  /
kworker/3 39337 root  txt   unknown                     /proc/39337/exe

5、查看程序所占用的端口

[root@localhost ~]# lsof -i:22
COMMAND PID    USER   FD  TYPE  DEVICE      SIZE/OFF NODE NAME
sshd    27597  root   3u  IPv4 1460505039   0t0      TCP *:ssh (LISTEN)
sshd    27597  root   4u  IPv6 1460505041   0t0      TCP *:ssh (LISTEN)

fuser

? ? fuser主要用于顯示進(jìn)程正在使用的文件、套接字、掛載點(diǎn)等。

基本用法

fuser [選項(xiàng)] [文件名]

其常用選項(xiàng)如下所示:

選項(xiàng) 說(shuō)明
-a ,--all 顯示命令行中指定的所有文件
-c 同-m選項(xiàng),用于兼容POSIX
-k, --kill 殺掉使用文件的進(jìn)程
-i, --interactive 殺掉進(jìn)程前需要用戶確認(rèn),如果無(wú)-k參數(shù)則默認(rèn)忽略該參數(shù)
-l, --list-signals 顯示所有已知的 signal名稱
-m NAME, --mount NAME 指定一個(gè)掛載的文件系統(tǒng)或被掛載的設(shè)備
-n SPACE 指定一個(gè)不同的命名空間,支持不同的命名空間文件(默認(rèn)為文件名)、UDP(本地UDP端口)、TCP(本地TCP端口),為避免歧義,可以使用name/space形式,如80/tcp
-w 僅殺掉擁有寫入權(quán)限的進(jìn)程,如果無(wú)-k參數(shù)則默認(rèn)忽略該參數(shù)
-s, --silent 靜默模式,-u和-v忽略該參數(shù)
-u, --user 在PID后顯示所屬的用戶名
-v, --verbose 顯示詳細(xì)信息
-4, --ipv4 僅搜索IPv4的套接字
-6, --ipv6 僅搜索IPv6的套接字

fuser顯示指定文件或文件系統(tǒng)的進(jìn)程PID,在默認(rèn)模式中,每個(gè)文件名后面會(huì)用一個(gè)字母表示訪問(wèn)類型,如下所示:

  • c:表示當(dāng)前目錄
  • e:表示該文件為可執(zhí)行文件
  • f:表示被打開的文件,默認(rèn)模式中f不顯示
  • F:表示被打開的文件,用于寫入操作,默認(rèn)模式中F不顯示
  • r:根目錄
  • m:映射文件或共享lib
-f 和 -F 只有與選項(xiàng) -v 一起使用的時(shí)候才會(huì)顯示,其他情況則默認(rèn)不顯示

用法示例

1、殺掉所有占用/home的進(jìn)程

[root@localhost ~]# fuser -km /home

2、顯示本地所有mysql上端口進(jìn)程

[root@localhost ~]# fuser mysql/tcp
mysql/tcp:            2680

3、顯示詳細(xì)的信息

[root@localhost ~]# fuser -v top.txt
                     用戶     進(jìn)程號(hào)  權(quán)限   命令
/root/top.txt:       root     15847 F....  top

4、查看有多個(gè)進(jìn)程正在使用某個(gè)目錄下文件系統(tǒng),包含子目錄

[root@localhost ~]# fuser -v -m /home/data
                     用戶     進(jìn)程號(hào) 權(quán)限   命令
/home/data:          root     kernel mount /home/data

5、通過(guò)端口定位進(jìn)程

[root@localhost ~]# fuser -v -n tcp 22
                     用戶     進(jìn)程號(hào) 權(quán)限   命令
22/tcp:              root      27597 F.... sshd
                     root      31119 F.... sshd
或
[root@localhost ~]# fuser -v 22/tcp
                     用戶     進(jìn)程號(hào) 權(quán)限   命令
22/tcp:              root      27597 F.... sshd
                     root      31119 F.... sshd

fuser與lsof對(duì)比

對(duì)比項(xiàng) fuser lsof
定位方式 通過(guò)文件查找進(jìn)程 通過(guò)進(jìn)程查找文件
所屬標(biāo)準(zhǔn) POSIX -
參數(shù)類型 文件/網(wǎng)絡(luò)端口 文件/PID/網(wǎng)絡(luò)端口
進(jìn)程輸出 PID PID詳細(xì)信息
是否可發(fā)送信息 可以,使用-k 不可以

ps

? ? 在Windows系統(tǒng)中用于查看進(jìn)程通常是通過(guò)任務(wù)管理器。而在Linux中,我們用ps(Process Status)命令來(lái)查看進(jìn)程。

基本用法

ps [選項(xiàng)]

其常用選項(xiàng)如下所示:

選項(xiàng) 說(shuō)明
-A 顯示所有進(jìn)程,同選項(xiàng)-e
-a 顯示所有進(jìn)程,但排除新會(huì)話的首進(jìn)程和無(wú)控制終端的進(jìn)程
-d 顯示所有進(jìn)程,但排除新會(huì)話的首進(jìn)程
-e 顯示所有進(jìn)程,同選項(xiàng)-A
r 僅顯示正在運(yùn)行的進(jìn)程
-C cmdlist 顯示指定命令的進(jìn)程信息
-p pidlist 顯示指定PID的進(jìn)程
-t ttylist 顯示指定tty的進(jìn)程
-u userlist 顯示指定有效用戶ID或名字的進(jìn)程
-c 顯示CLS和PRI列
-f 添加詳細(xì)列信息,通常與其他選項(xiàng)聯(lián)合使用
-x 沒有關(guān)聯(lián)到終端上的進(jìn)程也進(jìn)行顯示
-o 僅顯示自定義的列
-l 僅顯示屬于當(dāng)前登錄用戶的PID與相關(guān)信息列表
--sort spec 對(duì)輸出信息進(jìn)行排序 + 升序排序 - 降序排序

用法示例

1、不帶參數(shù)的示例

[root@localhost ~]# ps
  PID TTY          TIME CMD
11047 pts/0    00:00:00 ps
24892 pts/0    00:00:00 su
25142 pts/0    00:00:00 bash

2、僅顯示與當(dāng)前用戶相關(guān)的進(jìn)程和相關(guān)信息

[root@localhost ~]# ps -l
F S   UID   PID  PPID  C PRI  NI ADDR SZ WCHAN  TTY          TIME CMD
0 R     0 22720 25142  0  80   0 - 38292 -      pts/0    00:00:00 ps
4 S     0 24892 22641  0  80   0 - 58599 do_wai pts/0    00:00:00 su
4 S     0 25142 24892  0  80   0 - 29305 do_wai pts/0    00:00:00 bash
  • F:表示進(jìn)程標(biāo)志,說(shuō)明當(dāng)前進(jìn)程的權(quán)限,若為4表示進(jìn)程權(quán)限為root,若為1表示些子進(jìn)程僅可進(jìn)行復(fù)制(fork)而無(wú)法實(shí)際運(yùn)行
  • S:表示進(jìn)程狀態(tài),主要狀態(tài)有:
    ? R:進(jìn)程正在運(yùn)行
    ? S:進(jìn)程處于睡眠狀態(tài),但可以被喚醒
    ? D:進(jìn)程處于不可被喚醒的睡眠狀態(tài),通常該進(jìn)程可能在等待I/O
    ? T:停止?fàn)顟B(tài),可能是在工作控制或除錯(cuò)狀態(tài)
    ? Z:僵尸狀態(tài),進(jìn)行已經(jīng)終止但卻無(wú)法釋放內(nèi)存等
  • UID/PID/PPID:進(jìn)行的所屬UID/PID/PPID
  • C:CPU使用率,單位為%
  • PRI/NI:Priority/Nice縮寫,表示進(jìn)程被CPU執(zhí)行的優(yōu)先級(jí),數(shù)值越小越快被CPU執(zhí)行
  • ADDR:與內(nèi)存相關(guān),ADDR表示該進(jìn)程在內(nèi)存的哪個(gè)部分,如果是Running進(jìn)程,會(huì)顯示 -
  • SZ:與內(nèi)存相關(guān),表示該進(jìn)程使用了多少內(nèi)存;
  • WCHAN:與內(nèi)存相關(guān),表示該進(jìn)程目前是否正在運(yùn)行,-表示正在運(yùn)行中
  • TTY:?jiǎn)?dòng)進(jìn)程的終端名稱
  • TIME:進(jìn)程的實(shí)際CPU占用時(shí)間之和,單位為秒
  • CMD:進(jìn)程命令

3、查看系統(tǒng)所有進(jìn)程

[root@localhost ~]# ps aux
USER PID %CPU %MEM    VSZ   RSS TTY      STAT START   TIME COMMAND
root   2  0.0  0.0      0     0 ?        S    8月08   0:00 [kthreadd]
root   3  0.0  0.0      0     0 ?        S    8月08   0:03 [ksoftirqd/0]
root   5  0.0  0.0      0     0 ?        S<   8月08   0:00 [kworker/0:0H]
root   8  0.0  0.0      0     0 ?        S    8月08   0:00 [migration/0]
  • USER:進(jìn)程所屬用戶
  • PID:進(jìn)程標(biāo)識(shí)符
  • %CPU:進(jìn)程的CPU占比
  • %MEM:進(jìn)程物理內(nèi)存占比
  • VSZ:進(jìn)程虛擬內(nèi)存(KB)使用量
  • RSS:進(jìn)程占用的固定內(nèi)存量(KB)
  • TTY:啟動(dòng)進(jìn)程的終端名稱
  • STAT:進(jìn)程狀態(tài)
  • START:進(jìn)程啟動(dòng)時(shí)間
  • TIME:進(jìn)程的實(shí)際CPU占用時(shí)間之和
  • COMMAND:進(jìn)程命令

在Linux中ps通常有三種不同的書寫格式

  • BSD格式:選項(xiàng)前不加短橫線 - ,多個(gè)選項(xiàng)可以組合使用如ps aux
  • UNIX格式:選項(xiàng)前加短橫線 -,多個(gè)選項(xiàng)可以組合使用如ps -aux
  • GNU長(zhǎng)格式:選項(xiàng)前加雙短橫線 --,如 ps --context

因此ps aux 和ps -aux 在顯示的輸出信息是一樣的。

4、顯示自定義列

[root@localhost ~]# ps -eo pid,user,cmd
PID USER     CMD
  2 root     [kthreadd]
  3 root     [ksoftirqd/0]
  5 root     [kworker/0:0H]
  8 root     [migration/0]

5、對(duì)輸出結(jié)果進(jìn)行排序

[root@localhost ~]# ps -ef --sort=uid,-ppid,+pid
UID  PID    PPID  C STIME TTY        TIME CMD
root 31637 31624  0 17:42 pts/1  00:00:00 less -s
root 40772 25142  0 17:44 pts/0  00:00:00 ps -ef --sort=uid,-ppid,+pid
root 40773 25142  0 17:44 pts/0  00:00:00 more
root 25142 24892  0 15:32 pts/0  00:00:00 bash
root 31624 24164  0 17:42 pts/1  00:00:00 man ps
root 24164 23955  0 15:32 pts/1  00:00:00 bash
root 23955 23586  0 15:32 pts/1  00:00:00 su root
root 24892 22641  0 15:32 pts/0  00:00:00 su root

pstree

? ? 在使用ps查看進(jìn)程十分方便,但若想查看詳細(xì)進(jìn)程和子進(jìn)程時(shí),則需要使用pstree全命令。由于pstree不是系統(tǒng)自帶,需要自行安裝

yum -y install pstree

基本語(yǔ)法

pstree [選項(xiàng)]

常用選項(xiàng)如下所示:

選項(xiàng) 說(shuō)明
-a 顯示每個(gè)進(jìn)程的完整指令,包括路徑、參數(shù)等
-h 高亮顯示當(dāng)前進(jìn)程及父進(jìn)程
-g 顯示PGID
-n 相同父進(jìn)程下,按各自的PID進(jìn)行排序
-p 顯示PID
-s 顯示父進(jìn)程
-u username 顯示UID信息

kill

? ? 在Windows系統(tǒng)中,當(dāng)某個(gè)一個(gè)程序出現(xiàn)假死或無(wú)反應(yīng)時(shí),我們常常打開任務(wù)管理器,找到對(duì)應(yīng)的進(jìn)程,然后殺掉該進(jìn)程。在命令行盛行的Linux中,我們?cè)撌褂媚膫€(gè)命令?常用于殺掉進(jìn)程的命令非kill莫屬了。

基本用法

kill [選項(xiàng)] [PID]

其常用選項(xiàng)如下所示:

選項(xiàng) 說(shuō)明
-s signal 向目標(biāo)進(jìn)程發(fā)送指定的信號(hào)類型,信號(hào)可以為名稱或數(shù)字
-l 顯示信號(hào)名稱列表,如果在-l加編號(hào)則查看信號(hào)名稱,反之亦然
-a 處理當(dāng)前進(jìn)程時(shí),不限制命令和PID的對(duì)應(yīng)關(guān)系
-p 指定kill命令僅顯示相關(guān)進(jìn)程的進(jìn)程號(hào),而不發(fā)送任何信號(hào)
  • 無(wú)選項(xiàng):表示向目標(biāo)進(jìn)程發(fā)送默認(rèn)的終止信號(hào),即SIGTERM
  • PID>0:表示向目標(biāo)進(jìn)程發(fā)送信號(hào),此處的PID可以是多個(gè)PID,用空格進(jìn)行分隔
  • PID=0:表示向當(dāng)前進(jìn)程組的所有進(jìn)程發(fā)送信號(hào)
  • PID=-1:表示向除當(dāng)前 kill 進(jìn)程和 init 進(jìn)程之外的所有進(jìn)程發(fā)送信號(hào)
  • PID<-1:表示向進(jìn)程組PGID的所有進(jìn)程發(fā)送信號(hào),如-123,則向進(jìn)程組PGID為123的所有進(jìn)程發(fā)送信號(hào)

用法示例

1、顯示信號(hào)列表


02信號(hào)列表.jpg

除以上顯示信號(hào),還有一個(gè)特殊的編號(hào)0為測(cè)試信號(hào),其作用如下:

  • 用于測(cè)試目標(biāo)進(jìn)程是否存在
[root@localhost ~]# kill -l 0
T
[root@localhost ~]# kill -0 99999
bash: kill: (99999) - 沒有那個(gè)進(jìn)程
  • 用于測(cè)試當(dāng)前用戶是否擁有向該進(jìn)程發(fā)送信號(hào)的權(quán)限
[admin@localhost ~]# kill -0 2325
bash: kill: (2325) - 操作不被允許

2、查看信號(hào)對(duì)應(yīng)的編號(hào)或名稱

[root@localhost ~]# kill -l SIGHUP
1
[root@localhost ~]# kill -l KILL
9
[root@localhost ~]# kill -l 9
KILL

在Linux中常用信號(hào)如下所示:

信號(hào)名稱 編號(hào) 解釋
HUP 1 終端斷線
INT 2 中斷(同Ctrl+C)
QUIT 3 退出(同Ctrl+\)
KILL 9 強(qiáng)制終止
TEEM 15 終止
CONT 18 繼續(xù)(與STOP相反)
STOP 19 暫停(同Ctrl+Z)

3、強(qiáng)制終止進(jìn)程

[root@localhost ~]# kill -9 26744
[root@localhost ~]# kill -kill 30470

在使用kill -9需要注意的事項(xiàng)如下所示:

  • kill不能殺死進(jìn)程為1的init進(jìn)程
  • 在使用kill -9時(shí)是強(qiáng)行終止進(jìn)程且沒有通知目標(biāo)進(jìn)程進(jìn)行自我清理,而是突然被中止,可以造成資源無(wú)法正常釋放,數(shù)據(jù)無(wú)法同步到磁盤等,在使用前需要三思
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • 系統(tǒng)管理與維護(hù)命令 date date(選項(xiàng))(參數(shù)) | 選項(xiàng) | 說(shuō)明 | | :-------- | ...
    蓓蓓的萬(wàn)能男友閱讀 4,190評(píng)論 0 5
  • linux資料總章2.1 1.0寫的不好抱歉 但是2.0已經(jīng)改了很多 但是錯(cuò)誤還是無(wú)法避免 以后資料會(huì)慢慢更新 大...
    數(shù)據(jù)革命閱讀 13,265評(píng)論 2 33
  • 官網(wǎng) 中文版本 好的網(wǎng)站 Content-type: text/htmlBASH Section: User ...
    不排版閱讀 4,717評(píng)論 0 5
  • Ubuntu的發(fā)音 Ubuntu,源于非洲祖魯人和科薩人的語(yǔ)言,發(fā)作 oo-boon-too 的音。了解發(fā)音是有意...
    螢火蟲de夢(mèng)閱讀 100,718評(píng)論 9 468
  • 剛看完閃電俠第三季第十九集,等了這么多天薩維塔的身份之謎仍舊沒有揭開,但是這一集結(jié)束那一幕足以讓人浮想聯(lián)翩,薩維塔...
    夏荏閱讀 8,536評(píng)論 1 4

友情鏈接更多精彩內(nèi)容