Những +/- đó có nghĩa là gì nếu công việc linux ở chế độ nền kết thúc (bắt đầu bằng &)


43

Nếu tôi bắt đầu một quá trình với dấu và ( &) ở cuối, nó sẽ được chuyển sang nền. Khi nó kết thúc, tôi nhận được một đầu ra tương tự như

[1]+  Fertig   my_script

Tôi có một bản phân phối địa phương, nhưng điều này không thành vấn đề.

Những gì tôi thấy là ID công việc trong ngoặc vuông theo sau là dấu cộng ( +).

Nếu tôi có nhiều công việc bắt đầu song song, tôi nhận được

[1]-  Fertig   my_script
[2]+  Fertig   my_script

Bây giờ tôi có một dấu trừ ( -) cho công việc nắm tay và một dấu cộng ( +) cho công việc thứ hai.

Tôi tự hỏi, những gì +/ -có nghĩa là.

Không thể tìm thấy bất kỳ câu trả lời bằng cách sử dụng các công cụ tìm kiếm internet.

Câu trả lời:


57

Từ man bash:

Trong đầu ra liên quan đến các công việc (ví dụ: đầu ra của jobslệnh), 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 -.

Đó là, công việc được gắn cờ với một +là công việc đã được gửi đến nền cuối cùng.

Nó cũng là cái sẽ được đưa vào nền trước khi fgđược sử dụng mà không có đối số:

$ /tmp/script &
[1] 9871
$ /tmp/script2 &
[2] 9876
$ /tmp/script3 &
[3] 9881
$ /tmp/script4 &
[4] 9886
$ jobs
[1]   Running                 /tmp/script &
[2]   Running                 /tmp/script2 &
[3]-  Running                 /tmp/script3 &
[4]+  Running                 /tmp/script4 &
$ fg
/tmp/script4

Công việc được gắn cờ với một -đã được gửi đến nền thứ hai cuối cùng. Các công việc nền khác không được gắn cờ.


Niềm vui của tôi, tôi rất vui vì tôi có thể giúp đỡ.
jaume

1
Vì vậy, + hữu ích trong việc nói các lệnh fg / bg sẽ làm gì, nhưng - có hữu ích cho bất cứ điều gì không?
tsbertalan

@tsbertalan Tôi đồng ý, tôi không thể thấy bất kỳ việc sử dụng nào cho nó. Tôi cũng thấy khó hiểu, tôi thà mong đợi - xác định công việc được gửi đầu tiên đến nền, nhưng có lẽ đó chỉ là tôi ...
jaume

Đôi khi tôi thấy hai điểm cộng hoặc hai điểm trừ ở đó. Không thực sự phù hợp với định nghĩa 'cuối cùng' hoặc 'hiện tại'. Đó là bash 4.3.42.
Jan-Philip Gehrcke

8
@tsbertalan Tôi làm Ctrl + Z, sau đó fg -chuyển đổi giữa hai công việc. Dấu trừ có ích.
warmconemotel 6/07/2016
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.