Nếu tôi disown
làm việc bash
và thay đổi suy nghĩ, tôi có thể hoàn tác nó bằng cách nào đó không?
Nếu vậy, đưa nó đi xa hơn, có thể mang lại một quy trình tùy ý dưới sự kiểm soát công việc (một hạn chế có thể chấp nhận được là tôi sở hữu quy trình này)?
Và cuối cùng, điều này sẽ làm cho quy trình làm việc dưới đây có thể:
- đặt công việc trong nền (
^z
tiếp theobg
) - lấy pid của nó (
jobs -p %+
để lấy nó<pid>
) - mở một
screen
hoặctmux
phiên, gắn vào nó và sử dụng nó cho các bước sau - sử dụng
reptyr
để lấy công việc (reptyr <pid>
) - thêm
<pid>
vào kiểm soát công việc của shell ( điều này có khả thi không? ) - dừng công việc (
^Z
)
Tôi có thể làm mọi thứ trừ hai bước cuối cùng. Dừng công việc ^Z
mà không làm việc vì quy trình không có trong danh sách công việc của shell.
Nghiên cứu của tôi chỉ ra rằng không thể sở hữu (ngược lại disown
) một pid nhưng hy vọng tôi đã sai ...
bg
để đặt một công việc vào nền sẽ khiến ID tiến trình của nó trở thành "được biết đến trong môi trường thực thi shell hiện tại" , như thể nó đã được bắt đầu như một danh sách không đồng bộ ; xem danh sách không đồng bộ . Nhưng, dù sao đi nữa, nếu bạn đi xa đến mức này và vì bạn dường như chủ yếu tập trung vào linux, có lẽ bạn chỉ nên làm việc với không gian tên .
^Z
chỉ là một ví dụ về những điều không thể nếu không được sở hữu bởi vỏ. Tôi không nghĩ bình luận của bạn thêm bất kỳ giá trị nào cho câu hỏi.
SIGSTOP
tín hiệu quakill
lệnh.