[Question] Hỏi về ý nghĩa của pipe file trong linux ? |
24/12/2006 23:17:16 (+0700) | #1 | 32518 |
vietwow
Member
|
0 |
|
|
Joined: 28/06/2006 13:15:47
Messages: 90
Offline
|
|
Theo mình biết khái niệm pipe trong linux là sự connect giữa 2 tiến trình (process) giúp các tiến trình có thể "giao tiếp" với nhau, vd :
ls | grep abc
thì chạy tiến trình ls rồi kết nối tiền trình ls với tiến trình grep để lấy output của lệnh ls đưa và input của lệnh grep
Tuy nhiên mình nghe 1 người bạn nói trong linux còn có 1 khái niệm pipe file khác với vd | trên, pipe file có chữ s nằm ở đầu thuộc tính (srwxrwxrwx) và có đặc tính là ko thể nào view được (mình thử cat, more.. đều ko được, nó báo là : cat: mysql.sock: No such device or address)
Vậy cho mình hỏi ý nghĩa của những file này để làm gì ? khi nào thì cần tạo ra nó ? tại sao nó lại ko thể view được ? nếu mình muốn tìm hiểu no chứa cái gì thì phải làm sao ?
Ai biết xin giúp, cám ơn |
|
|
|
|
[Question] Hỏi về ý nghĩa của pipe file trong linux ? |
25/12/2006 05:45:42 (+0700) | #2 | 32573 |
|
conmale
Administrator
|
Joined: 07/05/2004 23:43:15
Messages: 9353
Location: down under
Offline
|
|
vietwow wrote:
Theo mình biết khái niệm pipe trong linux là sự connect giữa 2 tiến trình (process) giúp các tiến trình có thể "giao tiếp" với nhau, vd :
ls | grep abc
thì chạy tiến trình ls rồi kết nối tiền trình ls với tiến trình grep để lấy output của lệnh ls đưa và input của lệnh grep
Tuy nhiên mình nghe 1 người bạn nói trong linux còn có 1 khái niệm pipe file khác với vd | trên, pipe file có chữ s nằm ở đầu thuộc tính (srwxrwxrwx) và có đặc tính là ko thể nào view được (mình thử cat, more.. đều ko được, nó báo là : cat: mysql.sock: No such device or address)
Vậy cho mình hỏi ý nghĩa của những file này để làm gì ? khi nào thì cần tạo ra nó ? tại sao nó lại ko thể view được ? nếu mình muốn tìm hiểu no chứa cái gì thì phải làm sao ?
Ai biết xin giúp, cám ơn
mysql.sock là một UNIX domain socket. Mặc dù trên filesystem, nó trông như một file của filesystem nhưng không thể dùng hàm read(), open() (mà cat, head, tail.... dùng) để đọc nó như mọi file khác được mà phải dùng socket(), bind(), recv().... để đọc nó.
Muốn tìm hiểu thêm về UNIX domain socket, google với từ khóa UNIX domain socket.
Thân mến. |
|
What bringing us together is stronger than what pulling us apart. |
|
|
|
[Question] Re: Hỏi về ý nghĩa của pipe file trong linux ? |
28/12/2006 02:40:00 (+0700) | #3 | 33116 |
msdn
Member
|
0 |
|
|
Joined: 23/06/2006 06:27:14
Messages: 214
Offline
|
|
Nó là Pipes không phải là Pipe
Pipes cho phép cho kết hợp với nhiều lệnh lại với nhau và cùng xuất ra 1 hoặc nhiều kết quả khác nhau .
Tôi ví dụ như
ls -l /chroot/usr/local/mysql | more
Chú ý tham số |
Thân |
|
|
[Question] Hỏi về ý nghĩa của pipe file trong linux ? |
28/12/2006 17:30:04 (+0700) | #4 | 33185 |
Mr.Khoai
Moderator
|
Joined: 27/06/2006 01:55:07
Messages: 954
Offline
|
|
Gửi bạn vietwow: pipe được ký hiệu với chữ p chứ, s là ký hiệu cho socket chư anh conmale đã nói. Thường pipe được dùng cho Inter-process communication (IPC). Bạn có 2 process W và R, và một pipe file P. W có thể write vào P để R đọc từ P. Như vậy R và W có thể "giao tiếp" với nhau thông qua pipe file là P Ngoài ra còn nhiều kỹ thuật khác cho IPC.
khoai |
|
|
Users currently in here |
1 Anonymous
|
|
Powered by JForum - Extended by HVAOnline
hvaonline.net | hvaforum.net | hvazone.net | hvanews.net | vnhacker.org
1999 - 2013 ©
v2012|0504|218|
|
|