Linuxでは、ファイル記述子(ls -l / proc // fd)およびファイル位置リーダー(cat / proc // fdinfo)に関する情報を出力できます。だから:
-
mysqld pidを検索します(この例では: 1234 ):
$ ps -ef | grep mysqld
mysql 1234 1 0 feb12 ? 00:00:55 /usr/sbin/mysqld
-
ロードされたファイルのファイル記述子番号を検索します(この例では: 45 ):
$ sudo ls -l /proc/1234/fd
lr-x------ 1 root root 64 Feb 13 10:56 45 -> /var/lib/mysql/db/Loaded_file.txt
-
そのファイル記述子に関する情報を出力し、すでに読み取られたバイト数を確認します(この例では 494927872 ):
$ cat /proc/1234/fdinfo/45
pos: 494927872
flags: 0100000
この進行状況インジケーター(バイト単位)を、読み込まれている実際のファイルサイズと比較できます。
手順1と2の代わりに、「lsof」コマンドを使用することもできます。
$ lsof /var/lib/mysql/db/Loaded_file.txt | grep mysql
COMMAND PID USER FD TYPE DEVICE SIZE/OFF NODE NAME
mysqld 1234 youknowwho 45r REG 252,0 190312 5505353 /var/lib/mysql/db/Loaded_file.txt