+/- sau khi hoàn thành công việc trong nền


21

Chạy một công việc trong nền

$ command &

Khi xong, thiết bị đầu cuối in

[n]+    command

hoặc là

[n]-    command

Vì vậy, đôi khi nó là một điểm cộng và lần khác nó là một điểm trừ sau [n].

Không cộng / trừ có nghĩa là gì?

Câu trả lời:


19

Họ là để phân biệt giữa công việc hiện tại và trước đây; công việc cuối cùng và công việc cuối cùng thứ hai trong hơn hai công việc, với +công việc cuối cùng và -công việc cuối cùng thứ hai.

Từ man bash:

Các công việc trước đây có thể được tham chiếu bằng cách sử dụng %-. Nếu chỉ có một công việc duy nhất %+%-cả hai có thể được sử dụng để chỉ công việc đó. Trong đầu ra liên quan đến các công việc (ví dụ: đầu ra của lệnh công việc), công việc hiện tại luôn được gắn cờ với a +và công việc trước đó với a -.

Thí dụ:

$ sleep 5 &
[1] 21795

$ sleep 5 &
[2] 21796

$ sleep 5 &
[3] 21797

$ sleep 5 &
[4] 21798

$ jobs
[1]   Running                 sleep 5 &
[2]   Running                 sleep 5 &
[3]-  Running                 sleep 5 &
[4]+  Running                 sleep 5 &

$ 
[1]   Done                    sleep 5
[2]   Done                    sleep 5
[3]-  Done                    sleep 5
[4]+  Done                    sleep 5

2

Tôi đoán bạn đang đề cập đến khi bạn kiểm tra công việc thông qua $jobs. Tuy nhiên, như bạn có thể đã biết, nbiểu thị công việc #. Các [n] +biểu thị công việc cuối cùng đã được gọi. [n] -biểu thị công việc thứ hai đến cuối cùng được gọi là.

Ví dụ:

chris@chris-VirtualBox:~$ sleep 30 &
[1] 904
chris@chris-VirtualBox:~$ sleep 50 &
[2] 972
chris@chris-VirtualBox:~$ jobs
[1]-  Running                 sleep 30 &
[2]+  Running                 sleep 50 &

Đó là lý do tại sao, trong trường hợp này, chúng ta sleep 50 &là cuối cùng: [2]+sleep 30 &là thứ hai sau cùng:[1]-


Mô tả của bạn về tình huống không rõ ràng và hệ thống không dự đoán công việc nào sẽ kết thúc trước.
Julie Pelletier

Tôi hiểu ý của bạn, tôi sẽ nhấn mạnh điểm chính
Klamz
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.