例如当我们执行
yum update
yum localinstall xyz
在过程结束时显示
Complete!
当我们执行下一个任何 yum 命令时,它仍然显示
Another app is currently holding the yum lock; waiting for it to exit...
我的问题是:
- 显示完成的最终消息后它将执行什么类型的过程?
- 如果我们杀死这个进程会对系统造成损害吗?
答案1
您可以使用该工具查看进程正在使用哪些文件lsof
。
例子
$ sudo lsof -p $(pgrep yum) | head -10
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
yum 5117 root cwd DIR 253,2 4096 8921392 /home/saml/tst/134317
yum 5117 root rtd DIR 253,1 4096 2 /
yum 5117 root txt REG 253,1 11936 556827 /usr/bin/python2.7
yum 5117 root mem REG 253,1 277256 538188 /usr/lib64/libsoftokn3.so
yum 5117 root mem REG 253,1 43808 534669 /usr/lib64/libcrypt-2.17.so
yum 5117 root mem REG 253,1 18168 535410 /usr/lib64/libplds4.so
yum 5117 root mem REG 253,1 247464 534827 /usr/lib64/libnspr4.so
yum 5117 root mem REG 253,1 22272 534919 /usr/lib64/libplc4.so
yum 5117 root mem REG 253,1 1318904 536248 /usr/lib64/libnss3.so
当yum
访问RPM数据库等文件时:
yum 5117 root mem REG 253,1 1318912 1313544 /var/lib/rpm/__db.003
yum 5117 root mem REG 253,1 90112 1312668 /var/lib/rpm/__db.002
yum 5117 root mem REG 253,1 311296 1312467 /var/lib/rpm/__db.001
其他进程(包括rpm
)也无法访问它。 YUM 还使用sqlite
数据库,这些数据库也受到锁定,因此在 YUM 期间其他进程无法使用它们。
杀死百胜
您可以杀死它,但之后您可能需要使用yum-complete-transaction
.
$ sudo yum-complete-transaction
$ yum-complete-transaction --cleanup-only