2012-02-26 27 views

Trả lời

5

Thú vị. Có vẻ như một vấn đề cụ thể đối với ứng dụng Terminal mặc định. Bởi vì những gì nó có giá trị, iTerm2 không thể hiện hành vi này. (nói cách khác, nohup không thực sự bị hỏng trên OS X; điều này có vẻ như hành vi đặc biệt trong Thiết bị đầu cuối tìm kiếm các quy trình phụ khi thoát.)

Bằng nhiều cách, iTerm2 tốt hơn thiết bị đầu cuối mặc định. Bạn nên cung cấp cho nó một thử!

+0

Bạn nói đúng, đó là một lỗi hiển thị kỳ quặc mà tôi đoán vẫn chưa nhận được sự chú ý của Apple. iTerm rất thú vị, cảm ơn liên kết! –

1

Tôi đã thử trên Snow Leopard, và hộp thoại bật lên và phàn nàn rằng nó sẽ giết ngủ, nhưng khi tôi kiểm tra qua ngủ ps -eaf vẫn đang chạy.

bill$ ps -eaf | grep sleep 
    501 11806  1 0 0:00.00 ??   0:00.01 sleep 1000 
    501 11811 2628 0 0:00.00 ttys001 0:00.00 grep sleep 
2

Chạy nó trong phiên screen sẽ hoạt động tốt.

1

Tôi đang trên OSX 10.8.5, và có thể khẳng định:

nohup base64 /dev/urandom &

ứng dụng Terminal.app dựa trên (ví dụ TotalTerminal) spawns quá trình này thuộc phiên vỏ, không thuộc launchd, mà sẽ được mong đợi/tương đương với hành vi của Linux.

Mặt khác, iTerm2.app có thể chạy cùng một lệnh dưới launchd và nó vẫn hoạt động sau khi phiên trình bao đã bị đóng. Nó thực hiện một số thủ thuật đặc biệt mặc dù:

─┬◆ 00001 root /sbin/launchd 
├─┬◆ 00245 albanj01 /sbin/launchd 
│ └─┬◆ 21533 albanj01 /Applications/iTerm.app/Contents/MacOS/iTerm2 -psn_0_94628409 
│ └─┬◆ 04684 albanj01 /Applications/iTerm.app/Contents/MacOS/iTerm2 --server /Applications/iTerm.app/Contents/MacOS/iTerm2 --launch_shell 
│  └─┬◆ 04685 albanj01 -zsh 
│  └──◆ 04759 albanj01 base64 /dev/urandom 

Đồng nghiệp của tôi đứng về phía tôi đã cố gắng điều tương tự trên OSX 10.10.x và Terminal.app sinh ra quá trình nohup dưới launchd, cho thấy khả năng họ đã cố định nó giữa 10,8. x-10.10.x.

Các vấn đề liên quan