Làm thế nào để có được cấp độ chạy trong FreeBSD


1

Tại Linux, chúng ta có thể có được mức chạy như sau:

if [ "$(runlevel | sed 's/.* //')" = 6 ]; then
  echo "A reboot is in progress"
fi

và chạy mức 0 là để tắt máy. Làm thế nào tôi có thể làm tương tự cho BSD miễn phí?

Câu trả lời:


2

Runlevel là một khái niệm cụ thể để sysvinit (Khởi tạo kiểu SystemV). Các hương vị khác của init được sử dụng trong Linux (ví dụ: systemd ) cũng không có khái niệm về runlevel.

Khái niệm runlevel cũng không tồn tại trong init kiểu BSD, do đó không có runlevels trong FreeBSD.


0

Kiểm tra sự hiện diện của

/var/run/nologin

tập tin cung cấp thông tin tương tự.


0

Mikhail đúng ở chỗ không có cấp độ chạy kiểu Linux / SysV, tuy nhiên có chế độ đơn và đa người dùng. Đây là đường vòng nhưng cách tốt nhất tôi đã khám phá để biết bạn đang ở một người hay nhiều người dùng theo chương trình:

Khi FreeBSD ở chế độ một người dùng, "adjkerntz" chưa được khởi động (và nó cũng bị hủy nếu bạn thả xuống), vì vậy bạn có thể kiểm tra xem:

if ! ps -auxww | grep -v "grep" | grep "adjkerntz" > /dev/null; then
   echo "Single user";
else
   echo "Multi-user";
fi

Tôi đã xác minh điều này hoạt động dưới 9.x và 10.x và có thể là tất cả các phiên bản khác của FreeBSD.

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.