Tôi chạy rất nhiều chương trình trong Ubuntu từ thiết bị đầu cuối, nhưng tôi muốn có thể tiếp tục sử dụng thiết bị đầu cuối sau khi tôi mở chương trình. Làm cách nào tôi có thể đặt các chương trình ở chế độ nền để tôi không phải mở một cửa sổ khác?
Tôi chạy rất nhiều chương trình trong Ubuntu từ thiết bị đầu cuối, nhưng tôi muốn có thể tiếp tục sử dụng thiết bị đầu cuối sau khi tôi mở chương trình. Làm cách nào tôi có thể đặt các chương trình ở chế độ nền để tôi không phải mở một cửa sổ khác?
Câu trả lời:
Có nhiều cách khác nhau để chạy chương trình đầu cuối và tiếp tục sử dụng thiết bị đầu cuối:
&
vào lệnh bạn chạy. Xin lưu ý rằng bạn sẽ không thấy đầu ra văn bản đến thiết bị đầu cuối, chẳng hạn như thông báo lỗi.bg
. Điều này có tác dụng tương tự như chạycommand &
nohup command &
và sau đó nhấn enter. (Cảm ơn ccpizza , xem bình luận bên dưới.)Tuy nhiên, nhấn Alt- F2và sau đó chạy lệnh của bạn từ GUI thường được coi là thực hành tốt nhất - không có thiết bị đầu cuối nào cả!
Lưu ý rằng khi sử dụng &
(không nohup
), đóng thiết bị đầu cuối vẫn sẽ chấm dứt ứng dụng trừ khi bạn chạy disown
sau đó .
EDIT: Có vẻ như việc sử dụng nohup
đôi khi sẽ để lại một ít phân nhỏ trong thư mục nhà của bạn. Những gì thường được ghi vào thiết bị đầu cuối rõ ràng được lưu vào một tệp trong ~ /.
~ ~
Một cách đơn giản để chạy một chương trình trong nền là program-name & disown
, nó sẽ đưa bạn đến một thiết bị đầu cuối có thể được đóng mà không làm hỏng quá trình.
program-name & disown
là một giải pháp tốt
Bạn có thể sử dụng setsid
để chạy chương trình trong một phiên mới, ngoài ra &>/dev/null
bạn sẽ không nhận được bất kỳ thông điệp tường trình nào.
Vì vậy, nó sẽ giống như
setsid program-name &>/dev/null
Sử dụng screen
lệnh, bạn có thể mở nhiều phiên cuối bằng một cửa sổ duy nhất và nhấn
apt-get install screen (On Debian based Systems)
yum install screen (On RedHat based Systems)
screen
(bắt đầu màn hình mới)
[Your command]
Ctrl+A d
rời khỏi màn hình ... vân vân
Bạn có thể chạy nó trong một thiết bị đầu cuối ảo như tmux
(hoặc screen
tôi nghe nói nó không được duy trì nữa)
# This ataches your terminal to a virtual terminal
tmux
run_your_command
# This detaches your virtual terminal (previous command can be running)
CTRL-b d
run_other_commands # on your terminal
# re-attach the virtual terminal to see the status of run_your_command
tmux a
tmux
có thể làm nhiều hơn nữa, như:
https://www.hamvocke.com/blog/a-quick-and-easy-guide-to-tmux/
nohup firefox&
.