banner

[Rule] Rules  [Home] Main Forum  [Portal] Portal  
[Members] Member Listing  [Statistics] Statistics  [Search] Search  [Reading Room] Reading Room 
[Register] Register  
[Login] Loginhttp  | https  ]
 
Forum Index Thảo luận hệ điều hành *nix Hỏi về ý nghĩa của pipe file trong linux ?  XML
  [Question]   Hỏi về ý nghĩa của pipe file trong linux ? 24/12/2006 23:17:16 (+0700) | #1 | 32518
vietwow
Member

[Minus]    0    [Plus]
Joined: 28/06/2006 13:15:47
Messages: 90
Offline
[Profile] [PM]
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
[Up] [Print Copy]
  [Question]   Hỏi về ý nghĩa của pipe file trong linux ? 25/12/2006 05:45:42 (+0700) | #2 | 32573
[Avatar]
conmale
Administrator

Joined: 07/05/2004 23:43:15
Messages: 9353
Location: down under
Offline
[Profile] [PM]

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.
[Up] [Print Copy]
  [Question]   Re: Hỏi về ý nghĩa của pipe file trong linux ? 28/12/2006 02:40:00 (+0700) | #3 | 33116
msdn
Member

[Minus]    0    [Plus]
Joined: 23/06/2006 06:27:14
Messages: 214
Offline
[Profile] [PM]
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
[Up] [Print Copy]
  [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
[Profile] [PM]
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 smilie Ngoài ra còn nhiều kỹ thuật khác cho IPC.

khoai
[Up] [Print Copy]
[digg] [delicious] [google] [yahoo] [technorati] [reddit] [stumbleupon]
Go to: 
 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|