คำตอบสั้น ๆ :
คุณไม่จำเป็นต้องเรียกใช้ด้วยตนเองเพราะมันถูกเรียกใช้โดยอัตโนมัติและทำงานในพื้นหลังนั่นเป็นสาเหตุที่คุณได้รับข้อความนั้น
หากคุณต้องการหยุด daemon และรันด้วยตนเอง:
sudo systemctl stop clamav-freshclam.service
รันด้วยตนเอง:
sudo freshclam
เกิดอะไรขึ้นและจัดการอย่างไร
ทุกครั้งเมื่อคุณพบสถานการณ์ที่คล้ายกันข้อผิดพลาดเช่นfile x has been locked
หรือAnother process is using this file : /path/to/x
คุณสามารถใช้lsof
คำสั่งเพื่อค้นหากระบวนการที่กำลังใช้ไฟล์นั้นในกรณีของคุณหากคุณเรียกใช้:
sudo lsof /var/log/clamav/freshclam.log
คุณควรได้ผลลัพธ์เช่น:
COMMAND PID USER FD TYPE DEVICE SIZE/OFF NODE NAME
abc 126 user 3wW REG 259,1 100 1048 /var/log/clamav/freshclam.log
เป็นชื่อของกระบวนการที่จะใช้ไฟล์นั้นในกรณีของคุณมันเป็น:abc
freshclam
นั่นหมายความว่าfreshclam
คุณต้องการเรียกใช้แล้วโดย clamav daemons
คุณสามารถใช้less /var/log/clamav/freshclam.log
หรือคำสั่งที่คล้ายกันเพื่อดูว่าเกิดอะไรขึ้น
ดังนั้นคุณไม่ต้องเรียกใช้ด้วยตนเองอีกต่อไปมันเป็นกระบวนการที่จะหลีกเลี่ยงความขัดแย้งและมีอินสแตนซ์หลายขั้นตอนของกระบวนการเดียวกันที่ทำสิ่งเดียวกันในเวลาเดียวกัน
หากคุณต้องการให้หยุดและเรียกใช้ด้วยตนเองจากนั้นส่ง a SIGTERM
ไปยังกระบวนการที่ให้โอกาสในการทำงานให้เสร็จและปิดตัวเองอย่างหมดจดเช่น:
sudo pkill -15 -x freshclam
- ในกรณีนี้
sudo
อาจจำเป็น
- 15: SIGTERM เป็นค่าเริ่มต้น
จากนั้นเรียกใช้ด้วยตนเอง:
sudo freshclam
อย่างไรก็ตามในกรณีนี้คุณสามารถใช้:
sudo systemctl stop clamav-freshclam.service
เพื่อหยุดภูต
sudo lsof /var/log/clamav/freshclam.log
?