Một lệnh dừng đang chạy cho Phiên c2 của người dùng


56

Thông báo sau xuất hiện gần như mỗi lần tôi tắt máy tính:

A stop job is running for Session c2 of user ... (1min 30s)

Nó đợi 1 phút30 sau đó tiếp tục quá trình tắt máy. Tôi làm theo hướng dẫn chẩn đoán tắt hệ thống này và nhận được tắt máy log.txt (Tôi không thể dán trực tiếp nhật ký vào đây vì nó rất dài). Thật không may, tôi không hiểu nhật ký một mình. Bất cứ ai có thể giúp tôi tìm ra những gì làm cho hệ thống của tôi không tắt đúng cách?

Tôi chạy Arch Linux với kernel 4.4.5-1-ARCH, systemdphiên bản của tôi là 229-3.

Bổ sung 1: Tôi quan sát rằng mỗi lần tôi đăng xuất, sau đó tắt máy tính khỏi màn hình đăng nhập, nó sẽ không nhận được thông báo A stop job is running.... Tôi đã cố gắng đăng xuất trước khi tắt máy nhiều lần, vì vậy tôi nghĩ điều đó không xảy ra một cách tình cờ. Hy vọng rằng thông tin có thể giúp đỡ.

Bổ sung 2: Luôn luôn là phiên c2 gây ra tắt máy. Vì vậy, như @ n.st đề xuất, tôi đã xem lại Chẩn đoán Sự cố Tắt máy và được lưu trữ loginctl session-status c2thay vì dmesg, nhưng sau đó không có gì trên shutdown-log.txt. Tôi thay thế loginctl session-status c2bằng systemd-cglsvà nhận các bản ghi sau:

Control group /:
-.slice
└─init.scope
  ├─   1 /usr/lib/systemd/systemd-shutdown reboot --log-level 6 --log-target ...
  ├─1069 /usr/lib/systemd/systemd-shutdown reboot --log-level 6 --log-target ...
  ├─1071 /bin/sh /usr/lib/systemd/system-shutdown/debug.sh reboot
  └─1074 systemd-cgls

Có ý kiến ​​gì không?

Lưu ý: Sau khi tôi cập nhật lên kernel 4.6.4-1-ARCHsystemd 230-7, lỗi không còn xảy ra nữa.


Thật không may, dmesgđầu ra bạn dán không có nhiều thông tin - nó hiển thị ngắt kết nối WiFi khi bạn nhấn nút tắt máy (3048 giây sau khi khởi động hệ thống) và sau đó không có gì cho đến khi hết giờ hẹn giờ 1m30 và hệ thống tiếp tục tắt (ở mức 3139 giây).
n.st

1
Để kiểm tra những gì đang chạy trong phiên c2 đáng ngại đó không tự chấm dứt, hãy sử dụng loginctl session-status c2. Tôi không chắc liệu bạn vẫn có thể chuyển sang một getty trong khi tắt máy hay không, nhưng hãy thử nhấn Ctrl + Alt + F2 khi "Công việc dừng đang chạy" bật lên. Nếu nó hoạt động, bạn sẽ nhận được một dấu nhắc đăng nhập và sẽ có thể sử dụng loginctllệnh. Nếu bạn không nhận được lời nhắc đăng nhập, hãy làm theo các bước tương tự bạn đã sử dụng dmesg, nhưng lưu trữ đầu ra loginctl session-status c2thay thế. (Đó là tất cả giả định rằng nó luôn luôn là "c2", không phải là phiên khác mỗi lần.)
n.st

1
Bạn có thể nhận được bản sửa lỗi (tạm thời) bằng cách hack này: Tạo /etc/sysctl.d/50-coredump.confvới nội dung : kernel.core_pattern=core, ref: github.com/systemd/systemd/issues/1615#issuecomment-203507283
Runium

1
github.com/systemd/systemd/issues/2691 Điều này có thể có liên quan
Natecat

2
@aurelien Có phải luôn luôn c2 khiến bộ đếm thời gian tắt máy không? Nếu vậy, bạn có thể theo dõi Chẩn đoán Sự cố Tắt máy một lần nữa và lưu trữ loginctl session-status c2thay vì dmesg.
n.st

Câu trả lời:


45

Một cách giải quyết cho vấn đề này là giảm thời gian chờ này /etc/systemd/system.confxuống từ những năm 90 xuống còn 10 giây:

DefaultTimeoutStopSec=10s

và chạy lệnh sau trong terminal sau khi thực hiện thay đổi

$ systemctl daemon-reload

9
điều này không giải thích hoặc giải quyết vấn đề, cũng đợi 10 giây và thậm chí không tắt máy hoàn toàn không tốt chút nào
jcora

Tôi có công việc nào mất hơn 10 giây không?
Jared Chu

10

Vấn đề này có thể có nhiều nguyên nhân, vì vậy câu trả lời cụ thể không hoạt động quá tốt. Hãy thử điều này để khắc phục sự cố:

  1. chờ thông báo "Công việc dừng đang chạy cho Phiên c2 ..." xuất hiện khi tắt máy và khởi động lại sau khi tắt máy xong
  2. chạy journalctl -p5trong một thiết bị đầu cuối và nhấn ENDđể đến cuối tạp chí systemd ( -p5lọc ra rất nhiều rác)
  3. bắt đầu tìm kiếm bằng cách nhấn /và nhập cụm từ tìm kiếmtimed out. Killing.
  4. tìm kiếm ngược bằng cách nhấn SHIFT+Nliên tục
  5. dòng bên dưới mỗi trận đấu cho bạn biết ứng dụng nào hoạt động sai:Killing process 1234 (jack_thru) with signal SIGKILL.

Nếu nó luôn là cùng một ứng dụng, bạn muốn tìm hiểu xem nó làm gì và tại sao nó không dừng lại khi tắt máy. Nếu không, việc giải quyết vấn đề có thể phức tạp hơn, nhưng bạn vẫn có thể nhận được một hoặc hai gợi ý.

Chúc may mắn! :)


1
Cảm ơn câu trả lời đúng này. Tôi đã sử dụng nó để thấy rằng trong trường hợp của tôi, thông báo Fedora 30 "lpf" là nguyên nhân và trong lpf-gui đã bỏ chọn Thông báo | Bật thông báo.
vk5tu

5

Tôi gặp vấn đề tương tự, khi tìm kiếm tôi đã tìm thấy một bài đăng trên một diễn đàn reddit của Arch Linux.

Đây là giải pháp phù hợp với tôi https://www.reddit.com/r/archlinux/comments/4bawf7/a_stop_job_is_rasty_for_session_c2_of_user/d17th3u

Cài đặt watchdog

# pacman -S watchdog

Và sau đó bắt đầu dịch vụ khi khởi động:

# systemctl enable watchdog.service

Bắt đầu dịch vụ để không nhìn thấy tin nhắn nữa

# systemctl start watchdog.service

Tôi tạo một ý chính cho https://gist.github.com/dianjuar/98d02af4050dc2df8ae6f18695d44ca3 này


Tôi đã làm theo hướng dẫn của bạn, nhưng nó không giải quyết được vấn đề. Dù sao cũng cảm ơn bạn.
macnguyen

2
Có bất kỳ ý nghĩa khác để sửa chữa này? Rõ ràng watchdog phần cứng sẽ thiết lập lại hệ thống nếu nó bị chậm hoặc thất bại các bài kiểm tra khác. Vì vậy, khi hết thời gian trong câu hỏi, cơ quan giám sát sẽ thiết lập lại máy tính. Tôi tự hỏi nếu hệ thống sẽ tắt máy sạch hơn nếu chúng ta chỉ giảm thời gian chờ theo câu trả lời khác . Tôi cũng tự hỏi nếu watchdogsẽ buộc thiết lập lại trong các tình huống không mong muốn khác.
Sparhawk

Tôi đọc trang người đàn ông của bạn . Tôi nghĩ rằng cơ quan giám sát ngăn chặn việc thiết lập lại nói với nhân linux rằng mọi thứ đều ổn,
Diego Juliao

> Nó mở / dev / watchdog và thường xuyên ghi vào nó đủ để giữ cho kernel không bị đặt lại, ít nhất một lần mỗi phút.
Diego Juliao

Không có gói nào có tên watchdog trên OpenSuSE, vì vậy điều này không thực sự giúp tôi :(
David Faure

4

Tôi đã tìm thấy một giải pháp ở đây phù hợp với tôi với Debian 9 trên vbox. Tôi đã nhận được độ trễ 120 giây thông thường khi tắt máy hoặc khởi động lại.

https://forums.kali.org/showthread.php?32498-Delay-90-seconds-on-shutdown

Làm như Ironman nói:

Giải pháp là mở shell và "tắt máy ngay" sau đó khi máy hoạt động trở lại, sau đó thực hiện "khởi động lại" và thông báo sẽ biến mất và các lần khởi động lại trong tương lai sẽ không bị treo nữa.

Tôi đã sử dụng "sudo shutdown now" và hiện tại độ trễ khởi động lại không còn nữa. Có vẻ quá đơn giản, nhưng nó đã làm việc cho tôi (và những người khác).

HTH


8
Tại sao câu trả lời này có rất nhiều upvote? Nó không làm việc cho tôi, và nó không cho biết lý do tại sao nó nên hoạt động.
Rodrigo

Làm việc cho tôi, nhưng vẫn chưa rõ lý do tại sao nó làm.
pstryk

3

Đã có một vấn đề tương tự trên Kali [2017.01], với độ trễ đăng xuất xen kẽ được hiển thị bởi:

"Một công việc dừng đang chạy cho Phiên c1 của người dùng Debian-gdm"

"Một công việc dừng đang chạy cho Trình quản lý người dùng cho UID 132"

Tôi đã quản lý để loại bỏ một lỗi bằng cách dừng NetworkManagertrước tiên trước khi tắt hoặc tắt nó, với:

# To get rid of: "A stop job is running for User manager for UID 132"
systemctl disable NetworkManager 
systemctl stop NetworkManager 

Điều này có lẽ nên được sửa chữa hoặc đặt theo một cách khác khi khởi động lại.

Đối với sự chậm trễ khác, tôi đã không thành công. Có vẻ như nó có thể liên quan đến GDM ( Trình quản lý hiển thị Gnome ) pulseaudiohoặc dbus. Vì vậy, vì tôi không thể cách ly vấn đề, cách duy nhất là đặt các DefaultTimeout*Sec=5smục trong system.confnhư đã đề cập trong các bài viết khác.

Các vấn đề khác có thể được điều tra được hiển thị trong:

# systemctl --state=masked --state=not-found --state=failed

  UNIT                           LOAD      ACTIVE   SUB  DESCRIPTION                   
 tmp.mount                      not-found inactive dead tmp.mount                     
 auditd.service                 not-found inactive dead auditd.service                
 console-screen.service         not-found inactive dead console-screen.service        
 festival.service               not-found inactive dead festival.service              
 kbd.service                    not-found inactive dead kbd.service                   
 live-tools.service             masked    inactive dead live-tools.service            
 plymouth-quit-wait.service     not-found inactive dead plymouth-quit-wait.service    
 plymouth-quit.service          not-found inactive dead plymouth-quit.service         
 plymouth-start.service         not-found inactive dead plymouth-start.service        
 systemd-sysusers.service       not-found inactive dead systemd-sysusers.service      
 systemd-update-done.service    not-found inactive dead systemd-update-done.service   
 systemd-vconsole-setup.service not-found inactive dead systemd-vconsole-setup.service
 syslog.target                  not-found inactive dead syslog.target                 

LOAD   = Reflects whether the unit definition was properly loaded.
ACTIVE = The high-level unit activation state, i.e. generalization of SUB.
SUB    = The low-level unit activation state, values depend on unit type.

và:

# systemd-cgls -u user-132.slice

Unit user-132.slice (/user.slice/user-132.slice):
├─user@132.service
 ├─pulseaudio.service
  └─739 /usr/bin/pulseaudio --daemonize=no
 ├─at-spi-dbus-bus.service
  ├─704 /usr/lib/at-spi2-core/at-spi-bus-launcher
  ├─709 /usr/bin/dbus-daemon --config-file=/usr/share/defaults/at-spi2/accessibility.conf --nofork --print-address 3
  └─712 /usr/lib/at-spi2-core/at-spi2-registryd --use-gnome-session
 ├─dbus.service
  └─694 /usr/bin/dbus-daemon --session --address=systemd: --nofork --nopidfile --systemd-activation --syslog-only
 └─init.scope
   ├─597 /lib/systemd/systemd --user
   └─600 (sd-pam)
└─session-c1.scope
  ├─577 gdm-session-worker [pam/gdm-launch-environment]
  ├─613 /usr/lib/gdm3/gdm-x-session gnome-session --autostart /usr/share/gdm/greeter/autostart
  ├─618 /usr/lib/xorg/Xorg vt1 -displayfd 3 -auth /run/user/132/gdm/Xauthority -background none -noreset -keeptty -verbose 3
  ├─697 /usr/lib/gnome-session/gnome-session-binary --autostart /usr/share/gdm/greeter/autostart
  ├─721 /usr/bin/gnome-shell
  └─752 /usr/lib/gnome-settings-daemon/gnome-settings-daemon

2
Câu trả lời này ít nhất cung cấp cho chúng tôi một số thông tin về cách tìm kiếm những gì (trong số nhiều khả năng) có thể gây ra sự cố trên các máy cá nhân của chúng tôi. Một vấn đề khác là sau khi một poweroffhoặc shutdownchúng ta không thể đăng nhập để xem thủ phạm thực sự. systemd cần phải đăng nhập đầu ra từ cgls khi sự cố này xảy ra. Điều tốt nhất chúng ta có thể làm bây giờ là lưu lại đầu ra systemd-cglsvà tham khảo nó sau nếu / khi tình trạng treo lại xảy ra.
duanev

2

Vì đây là một trong những kết quả đầu tiên trong công cụ tìm kiếm thân thiện nhất từ ​​trước đến nay, tôi sẽ thêm giải pháp của mình vào đây: Tôi đang sử dụng Arch Linux với máy tính để bàn Gnome; hạt nhân hiện tại tính đến hôm nay: 4.16.

Tôi nhận được tin nhắn A stop job is running for Session c2 of user ... (1min 30s)bất cứ khi nào Remote Loginđược kích hoạt Settings > SharingSharingđược kích hoạt.

Bất cứ khi nào tôi vô hiệu hóa điều đó, máy tính của tôi sẽ tắt độc đáo bằng nút tắt Gnome.

Vì "Đăng nhập từ xa" không có gì khác ngoài SSH, tôi cho rằng câu trả lời của not2qubit cũng sẽ hoạt động, vì vô hiệu hóa NetworkManager cũng có thể sẽ vô hiệu hóa SSH.


1

Đôi khi điều này có thể được gây ra bởi một ứng dụng. Ghi nhớ những thay đổi được thực hiện ngay trước khi điều này bắt đầu xảy ra có thể hữu ích để xác định nguyên nhân. Tôi gặp vấn đề tương tự sau khi cài đặt skypeforlinux-stable-bintrên Arch Linux. Đóng ứng dụng đó trước khi tắt đã giải quyết vấn đề (Tôi đã viết một tập lệnh để thực hiện việc này một cách tự động trước khi tắt).


0

Tôi đã có vấn đề này trong một thời gian dài, vì vậy tôi nghĩ rằng tôi muốn chia sẻ giải pháp của mình.

Vấn đề là Google Chrome đang chạy ẩn và không đóng khi tắt máy tính. Vì vậy, giải pháp tốt nhất là tắt tính năng đó.

  1. Chuyển đến cài đặt của Google Chrome.
  2. Nhấp vào "Nâng cao".
  3. Chuyển đến "Hệ thống".
  4. Vô hiệu hóa "Tiếp tục chạy các ứng dụng nền khi Google Chrome bị đóng".

nhập mô tả hình ảnh ở đây

Điều này đã giải quyết nó cho tôi. Hy vọng nó giúp.

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.