Lệnh chạy Bash trong nền

Bash Run Command Background



Trong khi sử dụng dòng lệnh trong Linux, người dùng thường phải đợi một lệnh chạy trước khi tiếp tục lệnh tiếp theo. Các lệnh thường chạy trơn tru và không mất nhiều thời gian thực hiện. Cd là ví dụ phổ biến, trong đó người dùng chỉ cần chạy các lệnh và nhanh chóng chuyển từ thư mục này sang thư mục khác để thực hiện các chức năng có liên quan và được yêu cầu. Các lệnh chạy và thực thi trong thời gian rất ngắn, chẳng hạn như trong vài giây và cung cấp thông tin hữu ích cần thiết cho người dùng.

Đôi khi, các quá trình có thể mất nhiều thời gian hơn một chút để chạy và hoàn tất quá trình thực thi của nó. Đây là khi việc thực thi từng cái một có thể trở nên khó khăn đối với người dùng. Điều này có thể liên quan đến việc đẩy hoặc giám sát đầu ra cho các bản ghi của nó. Các quy trình như vậy có thể mất nhiều thời gian hơn ngoài dự kiến ​​vì quá trình biên dịch mã không phải lúc nào cũng suôn sẻ. Bằng cách này, trong thời gian chờ đợi, khi quá trình biên dịch đang diễn ra, người dùng có thể không truy cập được vào hệ thống trừ khi quá trình biên dịch kết thúc. Trong quá trình biên dịch, không thể sử dụng thiết bị đầu cuối cho đến khi hoàn tất. Để tiếp tục công việc bình thường trong khi bạn đang xử lý một lệnh, người dùng cần biết cách chạy các lệnh ở chế độ nền trong Linux. Hãy xem qua hướng dẫn này để biết thêm về nó.







Để chạy nền lệnh trong Linux Mint 20, bạn cần mở Phần cuối từ Thực đơn ở dưới cùng bên trái của màn hình, sau đó chọn tùy chọn Terminal từ danh sách các ứng dụng có sẵn.



Khi thiết bị đầu cuối được mở, giờ đây bạn có thể chạy các lệnh ở chế độ nền hoặc gửi chúng ở chế độ nền theo yêu cầu của người dùng để hoạt động trơn tru.



Ghi chú: Để nhập bash, người dùng cần có tài khoản sudo với các quyền.





Sử dụng & để chạy một lệnh trong nền:

Người dùng có thể thực hiện các lệnh chạy trong nền nếu họ thêm ký tự &. Điều này ngụ ý rằng trong khi các lệnh đang chạy, người dùng vẫn có thể thực hiện các công việc liên quan cùng với nó mà không bị gián đoạn. Ví dụ: hãy xem lệnh thêm số bên trong tệp văn bản.

Ở đây, đầu ra sẽ giống như một hình ảnh được dán:



Dữ liệu bên trong dấu ngoặc vuông là số công việc của quy trình nền và tập hợp các chữ số tiếp theo là ID quy trình.

Ghi chú: Ngay sau khi quá trình trên chạy, dấu nhắc lệnh sẽ xuất hiện lại, cho phép người dùng tiếp tục công việc của họ bằng cách chạy các lệnh trong nền theo yêu cầu của người dùng. Nếu chúng tôi đã đưa ra lệnh mà không kết thúc nó bằng ký tự &, thì sẽ không có bất kỳ tương tác nào của người dùng và nó sẽ bị chặn hoàn toàn trừ khi hành động được hoàn tất.

Để gửi một lệnh đang chạy trong nền:

Nếu người dùng đã bắt đầu một lệnh nhất định và trong khi họ đang sử dụng hệ thống của mình, dòng lệnh của họ bị chặn, thì họ có thể tạm dừng việc thực thi quy trình hiện đang chạy trước bằng cách sử dụng ctrl + z cho windows và command + z cho hệ thống mac. Họ sẽ đặt các quy trình của họ ở giai đoạn dừng tạm thời, và sau đó nó sẽ giúp họ sử dụng ID công việc, mà chúng ta đã thấy trước đó và được viết trong một dấu ngoặc vuông.

Ghi chú: Lần này, hãy xóa ký tự & đã được nối trước đó trước khi áp dụng các phím ctrl + z.

Quá trình nền trước hiện đã bị tạm dừng và khi biết ID của công việc, chúng tôi hiện có thể thiết lập và điều chỉnh nền. Chúng tôi có thể làm điều này bằng cách chỉ cần gõ vào dòng lệnh của chúng tôi:

$bg 1

Ở đây như đã đề cập ở trên, 1 là ID công việc của chúng tôi. Bây giờ, đã đến lúc chúng ta kiểm tra nền với trạng thái của các công việc đang chạy. Nhập công việc -l vào dòng lệnh của bạn, sau đó nhấn enter. Kết quả hiển thị quy trình của chúng tôi đang chạy ở chế độ nền, như được hiển thị trong ảnh chụp màn hình bên dưới:

$việc làm-NS

Quá trình này hiện đã hoạt động trở lại và chạy ở chế độ nền.

Để đưa quy trình nền lên nền trước:

Người dùng cũng có thể dễ dàng đưa quá trình nền lên nền trước bằng cách sử dụng fg [số công việc] bên cạnh nó.

$fgcông việc

Ghi chú: bạn có thể sử dụng bất kỳ số công việc mong muốn


Bây giờ, một lần nữa, người dùng có thể sử dụng phím ctrl + z để tạm dừng quá trình một lần nữa. Đây là một cách dễ dàng để đưa quá trình này ở phía trước và sau đó dừng lại.

Để giết một công việc nền:

Người dùng không chỉ có thể chạy và di chuyển các quy trình khác nhau bằng cách sử dụng các lệnh nền mà còn có thể hủy một công việc hoặc quy trình cụ thể bằng cách sử dụng% trước ID. Ví dụ dưới đây cho thấy cùng một lệnh. Chỉ cần nhập kill% 1 vì trong trường hợp của chúng tôi, chúng tôi đã sử dụng 1.

$giết chết %công việc

Trong trường hợp của bạn, bạn có thể thử bằng cách thay thế số 1 được in đậm bằng số công việc cụ thể của bạn.

Ghi chú: Bạn cũng có thể kiểm tra lại quá trình tiêu diệt bằng cách sử dụng lệnh -l. Nó sẽ hiển thị danh sách tất cả các công việc đã chấm dứt.

Phần kết luận:

Khi người dùng chạy một lệnh trong nền, giờ đây họ không cần phải đợi cho đến khi lệnh kết thúc trước khi thực hiện lệnh tiếp theo trong dòng. Các tùy chọn được thảo luận ở trên bao gồm tất cả các thông tin liên quan để tạo điều kiện thuận lợi hơn cho người dùng trong việc chạy và di chuyển quy trình, công việc và lệnh ở bất kỳ đâu dựa trên yêu cầu của họ bằng cách cung cấp cho họ đủ sự linh hoạt. Hướng dẫn này sẽ hữu ích cho tất cả người dùng dự định làm việc trên Hệ điều hành Linux và mong muốn làm việc song song với nhiều quy trình đang chạy trên hệ thống của họ. Bằng cách này, họ có thể gửi các lệnh đang chạy xuống nền hoặc có thể sử dụng toán tử & bằng cách thêm nó vào cuối các lệnh của họ và sau đó di chuyển nó trong nền. Các gợi ý được đề cập ở đây cùng với các ví dụ cũng sẽ hỗ trợ bạn trong việc đưa các quy trình lên nền trước. Không chỉ điều này, mà bạn còn có thể giết chết một công việc nền.