2012-10-17 31 views
8

Tôi cảm thấy như tôi đang thiếu một cái gì đó ngu ngốc hiển nhiên, nhưng tôi đã xem xét tất cả và không thể tìm thấy câu trả lời cho câu hỏi của tôi.Erlang tách vỏ khỏi nút/Thoát vỏ mà không giết chết nút

Giả sử tôi có một phiên bản ứng dụng mà tôi đã xây dựng với cốt thép và tôi bắt đầu nó a la

rel/my_app/bin/my_app start 

Tôi để cho nó vui vẻ đi về kinh doanh của mình trong một thời gian, và sau đó tôi muốn đính kèm một giao diện điều khiển để kiểm tra mọi thứ, vì vậy tôi làm

rel/my_app/bin/my_app attach 

và lấy vỏ. Tôi muck xung quanh, và sau đó khi tôi thực hiện tôi muốn thoát khỏi vỏ nhưng để lại các ứng dụng đang chạy. Nếu tôi làm ^G q hoặc q()., nó sẽ làm giảm toàn bộ ứng dụng.

Tôi cũng đã chơi khi khởi động ứng dụng với +Bi để ngăn không cho người khác vô tình đóng ứng dụng, nhưng sau đó làm cách nào để thoát khỏi một trình bao đính kèm?

Trả lời

11

Tôi không sử dụng cốt thép, tôi chưa bao giờ hiểu được vấn đề gì cần giải quyết, nhưng tôi giả định khi bạn "đính kèm" bạn đang làm điều tương tự như chạy to_erl. Để thoát ra, bạn gõ control-D (EOF).

+1

Bình luận sang một bên, bạn là chính xác :) Bây giờ bạn chỉ ra nó tôi cảm thấy như một dunce bởi vì nó rõ ràng nói "(^ D để thoát)" lol. – dantswain

+0

Tôi sử dụng lệnh erl để bắt đầu một nút mới (trong Debian Linux 8, ssh terminal), nhưng khi tôi nhấn Ctrl + D, không có gì xảy ra, tại sao? – kingluo

-4

Nếu đó là một vỏ từ xa thông thường, nhấn Ctrl-C hai lần phải làm thủ thuật.

+1

Thay mặt người dùng ẩn danh: Cách tiếp cận này sẽ dừng trình bao. Nếu bạn được gắn vào một shell của ứng dụng đang chạy, bạn có thể không muốn thoát theo cách này vì nó sẽ thoát và dừng ứng dụng đó. –

3

CTRL-D sẽ giúp bạn thoát và duy trì ứng dụng đang chạy.