Điểm:1

Cách thực thi mã của tôi bằng thiết bị đầu cuối mà không cần thiết bị đầu cuối bị chiếm dụng

lá cờ sh

Các bạn có thể nghĩ đây là sự cố mã hóa nhưng có khả năng cao là tôi không cần phải sửa đổi hoàn toàn mã của mình để giải quyết vấn đề này.

Vì vậy, tôi đã viết một trình phát nhạc không đầu (không có GUI) bằng python và tôi hiện đang thực hiện nó như thế này: python3 main.py Tôi có thể tạm dừng/bỏ tạm dừng đường chạy từ bên trong chương trình. nhưng thiết bị đầu cuối bị chiếm dụng, tôi phải để thiết bị đầu cuối bổ sung này vẫn mở trong khi tôi đang làm bất cứ điều gì tôi đang làm và điều đó làm tôi khó chịu.

Cách tôi tương tác với chương trình của mình bây giờ: thiết bị đầu cuối bị chiếm dụng vì vậy tôi nên chấm dứt chương trình của mình để giải phóng nó

:~$python3 main.py
đang phát track0.mp3: tạm dừng 
track0.mp3 bị tạm dừng: thoát
:~$ls #Tôi đã kết thúc chương trình để có thể thực hiện điều này trong thiết bị đầu cuối hiện đang chạy

Tôi muốn tương tác với chương trình của mình như thế nào: thiết bị đầu cuối KHÔNG bị chiếm dụng để tôi có thể chạy các nội dung khác trong đó.

:~$python3 main.py -init #Không nên mở chương trình trong terminal
:~$ls #so tôi có thể làm điều này trong khi đang phát nhạc
:~$python3 main.py pause #và như thế này tôi tạm dừng chương trình
:~$nano ~/.bashrc #và một lần nữa tôi có thể sử dụng thiết bị đầu cuối của mình 
:~$python3 main.py thoát #và như thế này, tôi kết thúc chương trình của mình

Tôi biết nó có thể tôi chỉ không biết làm thế nào.

Chỉnh sửa: Một người nói rằng bạn nên xuất bản mã của mình để chúng tôi có thể giúp bạn Vì thế : https://github.com/yolowex/odd-musicplayer

YoloWex avatar
lá cờ sh
Bạn đúng rồi . Tôi đang thêm mã nguồn vào git của mình.
raj avatar
lá cờ cn
raj
Bạn có thể thử chạy chương trình của mình bên trong `screen`, sau đó tách phiên `screen` (Ctrl-A rồi D). Bất cứ khi nào bạn muốn quay lại chương trình của mình, bạn có thể đính kèm lại phiên `screen` (`screen -r`). Hoặc đơn giản là mở hai cửa sổ `màn hình` và chuyển đổi giữa chúng.Kiểm tra hướng dẫn `màn hình`: https://linux.die.net/man/1/screen
Điểm:3
lá cờ vn

Bạn nên nhận ra rằng thiết bị đầu cuối Linux (bash) có khả năng đa nhiệm, vì vậy thiết bị đầu cuối không bao giờ thực sự bị "chiếm dụng". Theo mặc định, bạn có thể tạm dừng một chương trình đang chạy với Điều khiển + z (gửi nghi ngờ).

Nhưng việc chạy tập lệnh ở chế độ nền thậm chí còn đơn giản hơn.

python3 main.py &

Sau đó, bạn có thể cung cấp cho nó tiêu điểm nền trước với fg chỉ huy. Đây là cơ bản kiểm soát công việc.

Ngoài ra, nếu bạn muốn chạy tập lệnh để tập lệnh không được đính kèm vào thiết bị đầu cuối hiện tại (và không thoát khi bạn đóng tập lệnh), hãy sử dụng nohup chỉ huy:

nohup python3 main.py &
YoloWex avatar
lá cờ sh
Tôi đã thử & / disown và nohup nhưng dường như không cái nào hoạt động. chính xác là không có gì xảy ra. Tôi nghĩ rằng điều này là do mã của tôi bao gồm các lệnh đầu vào và một luồng nên nó hơi phức tạp. để thoát khỏi chương trình đúng cách, tôi thậm chí cần sử dụng thread.daemon để luồng bị hủy sau khi kết thúc chương trình. Tôi cũng đã thử ```Ctrl```+```Z```
Artur Meinild avatar
lá cờ vn
Ok, trong trường hợp đó [vì vậy] là nơi thích hợp để hỏi.

Đăng câu trả lời

Hầu hết mọi người không hiểu rằng việc đặt nhiều câu hỏi sẽ mở ra cơ hội học hỏi và cải thiện mối quan hệ giữa các cá nhân. Ví dụ, trong các nghiên cứu của Alison, mặc dù mọi người có thể nhớ chính xác có bao nhiêu câu hỏi đã được đặt ra trong các cuộc trò chuyện của họ, nhưng họ không trực giác nhận ra mối liên hệ giữa câu hỏi và sự yêu thích. Qua bốn nghiên cứu, trong đó những người tham gia tự tham gia vào các cuộc trò chuyện hoặc đọc bản ghi lại các cuộc trò chuyện của người khác, mọi người có xu hướng không nhận ra rằng việc đặt câu hỏi sẽ ảnh hưởng—hoặc đã ảnh hưởng—mức độ thân thiện giữa những người đối thoại.