<![CDATA[Latest posts for the topic "Sinh viên sắp ra trường, muốn theo Sysadmin, cần chuẩn bị những gì?"]]> /hvaonline/posts/list/21.html JForum - http://www.jforum.net Sinh viên sắp ra trường, muốn theo Sysadmin, cần chuẩn bị những gì? /hvaonline/posts/list/44813.html#276286 /hvaonline/posts/list/44813.html#276286 GMT Việc làm cho sinh viê mới ra trường khi làm lĩnh vực Sysadmin Việc làm cho sinh viên mới ra trường khi làm lĩnh vực Sysadmin  Tiêu đề đặt chưa sát lắm, dễ làm người khác hiểu nhầm là: bạn đang muốn giới thiệu chỗ làm sysadmin cho các bạn sinh viên mới ra trường.

fcbacktrack wrote:
Những tiêu chí nào để cho sinh viên đi theo lĩnh vực đó, nếu chỉ có sử dụng Linux,  
Quan trọng là bạn dùng Linux ở mức độ nào: end user hay sysadmin?

fcbacktrack wrote:
và cài đặt cấu hình DHCP, DNS, LAMP, file Log, BIND,.... thì chắc không đáp ứng các yêu cầu doanh nghiệp,  
Đúng rồi. Bây giờ trên mạng có rất nhiều hướng dẫn cài đặt các dịch vụ đó. Quan trọng là bạn hiểu sâu đến đâu để có thể tuning cho nó chạy tốt hơn.

fcbacktrack wrote:
Chẳng hạn như cài LAMP cài thông qua repo hay cài từ source.. 
Không quan trọng lắm. Đôi khi cần cài từ source, rồi build thành rpm, và đưa lên local repo để còn cài cho nhiều máy khác. Mình thử đưa ra một câu hỏi để bạn trả lời nhé: Khi mình chạy `ps -ef | grep [h]ttpd` thì được kết quả là: Code:
apache   25125 31006  0 21:54 ?        00:00:00 /usr/sbin/httpd
apache   26869 31006  0 22:04 ?        00:00:00 /usr/sbin/httpd
apache   27349 31006  0 22:07 ?        00:00:00 /usr/sbin/httpd
apache   27696 31006  0 22:09 ?        00:00:00 /usr/sbin/httpd
apache   28534 31006  0 22:14 ?        00:00:00 /usr/sbin/httpd
root     31006     1  0 16:16 ?        00:00:00 /usr/sbin/httpd
apache   31011 31006  0 16:16 ?        00:00:00 /usr/sbin/httpd
Như bạn nhìn thấy: ở đây có nhiều processes, cái thì owned bởi `root`, cái lại owned bởi `apache`? Tại sao lại thế nhỉ? Tác dụng của việc này là gì? PS: 2 dấu ngoặc vuông bao quanh chữ "h" chỗ lệnh `grep` để làm gì nhỉ ;)? ]]>
/hvaonline/posts/list/44813.html#276300 /hvaonline/posts/list/44813.html#276300 GMT
Việc làm cho sinh viê mới ra trường khi làm lĩnh vực Sysadmin /hvaonline/posts/list/44813.html#276302 /hvaonline/posts/list/44813.html#276302 GMT Việc làm cho sinh viê mới ra trường khi làm lĩnh vực Sysadmin /hvaonline/posts/list/44813.html#276396 /hvaonline/posts/list/44813.html#276396 GMT Việc làm cho sinh viê mới ra trường khi làm lĩnh vực Sysadmin

McSteven wrote:
Có nhiều process nhưng cái thì chạy bởi owner Root vì Apache là 1 daemon process nên cần phải chạy với quyền root. 
Chưa đúng. Bạn có thể login vào user thường, chạy cái gì đó với `nohup` rồi thêm "&" ở cuối thì nó cũng thành daemon mà, có cần `root` đâu.

McSteven wrote:
Còn lại chạy với user Apache để đảm bảo rằng sẽ không xảy ra leo thang lên quyền root với cái process khác nhằm đảm bảo security.  
Các processes owned bởi `apache` có liên quan thế nào với process owned bởi `root`? Tại sao lại có nhiều processes owned bởi `apache` thế; mục đích của chúng là gì?

McSteven wrote:
Còn dấu ngoặc vuông thì đảm bảo chắc chằn rằng chỉ tìm những kí tự đầu luôn là "h".  
Không đúng. Ý bạn là ký tự đầu của cái gì?]]>
/hvaonline/posts/list/44813.html#276399 /hvaonline/posts/list/44813.html#276399 GMT
Việc làm cho sinh viê mới ra trường khi làm lĩnh vực Sysadmin /hvaonline/posts/list/44813.html#276401 /hvaonline/posts/list/44813.html#276401 GMT Việc làm cho sinh viê mới ra trường khi làm lĩnh vực Sysadmin /hvaonline/posts/list/44813.html#276402 /hvaonline/posts/list/44813.html#276402 GMT Việc làm cho sinh viê mới ra trường khi làm lĩnh vực Sysadmin /hvaonline/posts/list/44813.html#276403 /hvaonline/posts/list/44813.html#276403 GMT Việc làm cho sinh viê mới ra trường khi làm lĩnh vực Sysadmin [] tức là phép OR, nhưng chỉ có 1 kí tự thì không có ý nghĩa, phải từ 2 kí tự trở lên chẳng hạn như [Hh]ttpd tức là tìm với "Http" hoặc "http"   Sao lại không có ý nghĩa? [h]ttp sẽ tìm chính xác chuỗi http. Bạn thử gõ:
ps -ef | grep -v [h]ttp 
xem kết quả thế nào. Từ đó sẽ hiểu tại sao anh quanta lại hỏi
2 dấu ngoặc vuông bao quanh chữ "h" chỗ lệnh `grep` để làm gì nhỉ? 
]]>
/hvaonline/posts/list/44813.html#276404 /hvaonline/posts/list/44813.html#276404 GMT
Việc làm cho sinh viê mới ra trường khi làm lĩnh vực Sysadmin /hvaonline/posts/list/44813.html#276406 /hvaonline/posts/list/44813.html#276406 GMT Việc làm cho sinh viê mới ra trường khi làm lĩnh vực Sysadmin grep.]]> /hvaonline/posts/list/44813.html#276408 /hvaonline/posts/list/44813.html#276408 GMT Việc làm cho sinh viê mới ra trường khi làm lĩnh vực Sysadmin /hvaonline/posts/list/44813.html#276411 /hvaonline/posts/list/44813.html#276411 GMT Việc làm cho sinh viê mới ra trường khi làm lĩnh vực Sysadmin http://www.gnu.org/savannah-checkouts/gnu/grep/manual/grep.html#Matching-Control - Mục số 4 (Usage) -Phần số 7]]> /hvaonline/posts/list/44813.html#276412 /hvaonline/posts/list/44813.html#276412 GMT Việc làm cho sinh viê mới ra trường khi làm lĩnh vực Sysadmin .Ref ->/hvaonline/posts/list/3372.html Tài khoản nobody Tài khoản người dùng nobody được sử dụng để chạy các dịch vụ trên hệ thống. Tài khoản này không có thư mục home hoặc môi trường làm việc shell. Nếu tài khoản này bị lỗi, các dịch vụ đang chạy sử dụng tài khoản này sẽ bị ảnh hưởng nhưng hệ thống vẫn được bảo mật. Không biết trong trường hợp của anh quanta tài khoản apache phải là nobody, còn process chính chạy quyền root có tác dụng gì không Ðối với những ai quen dùng *nix hẳn không lạ gì với khái niệm UID/GID thuộc chế độ "file permission". Tuy nhiên, chi tiết này nên mở rộng một tí cho những bạn đọc chưa quen thuộc với UID/GID. Phần tạo nhóm (group) và người dùng (user) riêng cho Apache ở trên có hai chi tiết cần chú ý là: -d /dev/null: không cho phép user Apache có thư mục $HOME nhưng những user bình thường khác -s /sbin/nologin: không cho user Apache dùng bất cứ một shell nào cả. Có một số trường hợp dùng -s /bin/true thay vì nologin ở trên, true là một lệnh không thực thi gì cả và hoàn toàn vô hại. Lý do không cho phép user Apache có thư mục $HOME và không được cấp một "shell" nào cả vì nếu account Apache này bị nhân nhượng, tin tặc cũng không có cơ hội tiếp cận với system ở mức độ cần thiết cho thủ thuật gia tăng chủ quyền. Trên môi trường *nix nói chung, "shell" là giao diện giữa người dùng và hệ thống, không có shell thì không có cơ hội tiếp cận xa hơn. Nếu phần thiết lập trên cung cấp user Apache một $HOME và cho phép dùng một shell nào đó thì đã không mang giá trị gì trên quan điểm "kiện toàn". Theo mặc định hệ thống ubuntu khi cài apache liệu có thoả các lý do trên hay ta phải cài -d /dev/null: không cho phép user Apache có thư mục $HOME nhưng những user bình thường khác -s /sbin/nologin: không cho user Apache dùng bất cứ một shell nào cả.]]> /hvaonline/posts/list/44813.html#276416 /hvaonline/posts/list/44813.html#276416 GMT Việc làm cho sinh viê mới ra trường khi làm lĩnh vực Sysadmin /hvaonline/posts/list/44813.html#276417 /hvaonline/posts/list/44813.html#276417 GMT Việc làm cho sinh viê mới ra trường khi làm lĩnh vực Sysadmin

destiny90 wrote:
Mình tìm ra rồi :D Why do people use strange regular expressions on ps output? ps -ef | grep '[c]ron' If the pattern had been written without the square brackets, it would have matched not only the ps output line for cron, but also the ps output line for grep. Note that on some platforms, ps limits the output to the width of the screen; grep does not have any limit on the length of a line except the available memory. Trích từ : http://www.gnu.org/savannah-checkouts/gnu/grep/manual/grep.html#Matching-Control - Mục số 4 (Usage) -Phần số 7 
Hình như bồ vẫn chưa thực sự hiểu, vẫn chưa giải thích được tại sao khi dùng [h]ttp thì không match với "ps output line for grep". Bồ thử post dòng ouput của lệnh grep khi bồ chạy ps -ef | grep -v [h]ttp xem.]]>
/hvaonline/posts/list/44813.html#276419 /hvaonline/posts/list/44813.html#276419 GMT
Việc làm cho sinh viê mới ra trường khi làm lĩnh vực Sysadmin

McSteven wrote:
Các process owned bởi Apache được sinh ra bởi process owned root dùng đề phục vụ cho các request đền server.  
- Số lượng child processes này có cố định không? Khi một request đi đến server, Apache sẽ tạo ra một process mới để xử lý hay là thế nào? - Multi-Processing Module là gì? Có những loại chính nào? Ưu, nhược điểm của từng loại?

destiny90 wrote:
Mình tìm ra rồi :D Why do people use strange regular expressions on ps output? ps -ef | grep '[c]ron' If the pattern had been written without the square brackets, it would have matched not only the ps output line for cron, but also the ps output line for grep. Note that on some platforms, ps limits the output to the width of the screen; grep does not have any limit on the length of a line except the available memory. Trích từ : http://www.gnu.org/savannah-checkouts/gnu/grep/manual/grep.html#Matching-Control - Mục số 4 (Usage) -Phần số 7 
Câu hỏi đặt ra là: tại sao `ps -ef | grep [h]ttpd` lại không trả về chính bản thân `grep` process; có gì bí hiểm xung quanh dấu ngoặc vuông này nhỉ? ]]>
/hvaonline/posts/list/44813.html#276420 /hvaonline/posts/list/44813.html#276420 GMT
Việc làm cho sinh viê mới ra trường khi làm lĩnh vực Sysadmin

quanta wrote:
Câu hỏi đặt ra là: tại sao `ps -ef | grep [h]ttpd` lại không trả về chính bản thân `grep` process; có gì bí hiểm xung quanh dấu ngoặc vuông này nhỉ?  
The advantage of the brackets now is that the string "firefox" no longer appears in the grep command. Hence, grep itself won't show up in the grep result. http://askubuntu.com/questions/153419/how-does-this-tricky-bracket-expression-in-grep-work @@@quanta tiếp tục đặt những câu hỏi đi, qua những câu hỏi của bạn mình cũng phát hiện thêm nhiều điều lý thú. Thanks. :D]]>
/hvaonline/posts/list/44813.html#276423 /hvaonline/posts/list/44813.html#276423 GMT
Việc làm cho sinh viê mới ra trường khi làm lĩnh vực Sysadmin

consoko wrote:
The advantage of the brackets now is that the string "firefox" no longer appears in the grep command. Hence, grep itself won't show up in the grep result. http://askubuntu.com/questions/153419/how-does-this-tricky-bracket-expression-in-grep-work  
Có thể tóm tắt lại theo ý hiểu của bạn được không? Regular Expression này sẽ được thằng nào xử lý nhỉ: `bash` hay `grep`?

consoko wrote:
@quanta tiếp tục đặt những câu hỏi đi, qua những câu hỏi của bạn mình cũng phát hiện thêm nhiều điều lý thú. 
Câu hỏi chính vẫn còn nằm ở bên trên mà:
- Khi một request đi đến server, Apache sẽ tạo ra một process mới để xử lý hay là thế nào? - Multi-Processing Module là gì? Có những loại chính nào? Ưu, nhược điểm của từng loại?  
]]>
/hvaonline/posts/list/44813.html#276425 /hvaonline/posts/list/44813.html#276425 GMT
Sinh viên sắp ra trường, muốn theo Sysadmin, cần chuẩn bị những gì? /hvaonline/posts/list/44813.html#276429 /hvaonline/posts/list/44813.html#276429 GMT Việc làm cho sinh viê mới ra trường khi làm lĩnh vực Sysadmin

Quanta wrote:
- Khi một request đi đến server, Apache sẽ tạo ra một process mới để xử lý hay là thế nào? - Multi-Processing Module là gì? Có những loại chính nào? Ưu, nhược điểm của từng loại?  
 
Theo mình nghĩ thì số lượng child process này sẽ có số lượng giới hạn. - Khi một request đi đền sever , Apache sẽ không tạo ra 1 process mới để xử lý mà dùng multithread đề xử lý các request này! Mỗi process sẽ chứa 1 lượng multithread cố định.Nều mỗi thread này được giải phóng thì nó sẽ được tái sử dụng cho các request khác đ. Nếu số lượng process vượt quá giới hạn của child process thì nó sẽ chết đi và root process sẽ sinh ra 1 child process khác để phục vụ tuỳ vào lưu lượng số request. - Multi-Processing Module là 1 module dùng để thực hiện multithread trên Apache ( Mình chỉ có thề nói tới đó còn thiều thì hay sai xót thì Quanta bổ sung ) . -Có 3 loại chính : Event, Prefok, Worker. Còn về ưu nhược điểm thì mình chưa nghiên cứu kĩ lằm. Có thề Quanta trợ giúp câu hỏi này nhé! ]]>
/hvaonline/posts/list/44813.html#276430 /hvaonline/posts/list/44813.html#276430 GMT
Sinh viên sắp ra trường, muốn theo Sysadmin, cần chuẩn bị những gì?

destiny90 wrote:
Cho em hỏi là câu trả lời có liên quan đến pipeline không? 
Không. Mấu chốt vấn đề chỉ loanh quanh ở: bash, grep, regex thôi.

McSteven wrote:
Theo mình nghĩ thì số lượng child process này sẽ có số lượng giới hạn.  
Nó phụ thuộc vào cái gì? Khi lượng concurrent connections lớn lên thì chuyện gì xảy ra?

McSteven wrote:
- Khi một request đi đền sever , Apache sẽ không tạo ra 1 process mới để xử lý mà dùng multithread đề xử lý các request này! Mỗi process sẽ chứa 1 lượng multithread cố định. Nêu mỗi thread này được giải phóng thì nó sẽ được tái sử dụng cho các request khác đ. Nếu số lượng process vượt quá giới hạn của child process thì nó sẽ chết đi và root process sẽ sinh ra 1 child process khác để phục vụ tuỳ vào lưu lượng số request.  
Cái bạn đang nói chỉ đúng cho MPM Worker thôi đấy nhé.

McSteven wrote:
- Multi-Processing Module là 1 module dùng để thực hiện multithread trên Apache  
Và chỉ multi-threaded thôi à?

McSteven wrote:
-Có 3 loại chính : Event, Prefok, Worker. Còn về ưu nhược điểm thì mình chưa nghiên cứu kĩ lằm.  
Vậy bạn thử tìm hiểu xem :P.]]>
/hvaonline/posts/list/44813.html#276431 /hvaonline/posts/list/44813.html#276431 GMT
Sinh viên sắp ra trường, muốn theo Sysadmin, cần chuẩn bị những gì? Code:
UID ....... grep color=auto [h]ttpd
do đó sẽ loại trừ dòng này trong output.]]>
/hvaonline/posts/list/44813.html#276433 /hvaonline/posts/list/44813.html#276433 GMT
Sinh viên sắp ra trường, muốn theo Sysadmin, cần chuẩn bị những gì? /hvaonline/posts/list/44813.html#276434 /hvaonline/posts/list/44813.html#276434 GMT Sinh viên sắp ra trường, muốn theo Sysadmin, cần chuẩn bị những gì?

quanta wrote:
Và chỉ multi-threaded thôi à?  
Có sự hiều sai lầm của mình ở đây : nó phục vụ cả non-thread(MPM Prefok)và multithread (Event,Worker) - Apache MPM Prefork: Ưu điểm : khả năng xử lí các request nhanh chóng vì mỗi process sẽ phục vụ mỗi request.Nó không bị ảnh hưởng bời các process khác. Nhược điểm : Tốn tài nguyên của server vì mồi process chỉ phục vụ 1 request làm hao tốn rất nhiều nhiều tài nguyên đề duy trì các process này. - Apache MPM Worker: Ưu điểm : phục vụ nhiều request vì mỗi process chứa các thread bênh trong.Do đó số lượng của process có giới hạn và sử dụng ít tài nguyên hơn.Việc điều chỉnh số lượng thread / process phụ thuộc vào file httpd.conf. Nhược điểm : thì mình không biết, có thể có vài vần đề nếu sử dụng với PHP, tốn nhiều thread hơn so với MPM event - Apache MPM Event: Ưu điểm: Hình như cái event này dùng cho Apache 2.4 trở lên.Gần giống với MPM Worker nhưng có 1 khác biệt lớn ở đây . Với MPM Event sẽ giải phóng thread ngay sau khi các yêu cầu được đáp ứng song không phụ thuộc vào kết nối http. giúp làm giảm số thread per process . Còn MPM Worker sẽ giữ các request này dù các request này có xử lí hay không.Hỗ trợ nều chỉ số KeepAlive khá lâu. Nhược điểm: không biết! Còn thiều gì mong Quanta góp ý thêm cho. ]]>
/hvaonline/posts/list/44813.html#276436 /hvaonline/posts/list/44813.html#276436 GMT
Sinh viên sắp ra trường, muốn theo Sysadmin, cần chuẩn bị những gì?

McSteven wrote:
Có sự hiều sai lầm của mình ở đây: nó phục vụ cả non-thread(MPM Prefok) và multithread (Event, Worker) - Apache MPM Prefork: Ưu điểm : khả năng xử lí các request nhanh chóng vì mỗi process sẽ phục vụ mỗi request. Nó không bị ảnh hưởng bời các process khác. Nhược điểm : Tốn tài nguyên của server vì mồi process chỉ phục vụ 1 request làm hao tốn rất nhiều nhiều tài nguyên đề duy trì các process này. - Apache MPM Worker: Ưu điểm : phục vụ nhiều request vì mỗi process chứa các thread bên trong. Do đó số lượng của process có giới hạn và sử dụng ít tài nguyên hơn. Việc điều chỉnh số lượng thread / process phụ thuộc vào file httpd.conf. Nhược điểm : thì mình không biết, có thể có vài vần đề nếu sử dụng với PHP, tốn nhiều thread hơn so với MPM event - Apache MPM Event: Ưu điểm: Hình như cái event này dùng cho Apache 2.4 trở lên. Gần giống với MPM Worker nhưng có 1 khác biệt lớn ở đây . Với MPM Event sẽ giải phóng thread ngay sau khi các yêu cầu được đáp ứng song không phụ thuộc vào kết nối http. giúp làm giảm số thread per process . Còn MPM Worker sẽ giữ các request này dù các request này có xử lí hay không. Nhược điểm: không biết!  
- Với cùng một lượng requests, tại sao MPM worker lại thường cần dùng ít tài nguyên (RAM) hơn so với prefork? - Nếu cho bạn setup Apache từ đầu (ví dụ chạy PHP đi), căn cứ vào đâu để bạn quyết định sẽ chọn MPM nào? Tại sao? --- Góp ý: khi viết nên cách đoạn ra cho dễ đọc. Trước dấu câu (chấm, phảy, hỏi chấm, ...) thì không có khoảng trắng đâu, sau đó thì nhớ nhấn Space một phát rồi mới viết tiếp.]]>
/hvaonline/posts/list/44813.html#276439 /hvaonline/posts/list/44813.html#276439 GMT
Sinh viên sắp ra trường, muốn theo Sysadmin, cần chuẩn bị những gì?

quanta wrote:
- Với cùng một lượng requests, tại sao MPM worker lại thường cần dùng ít tài nguyên (RAM) hơn so với prefork? - Nếu cho bạn setup Apache từ đầu (ví dụ chạy PHP đi), căn cứ vào đâu để bạn quyết định sẽ chọn MPM nào? Tại sao?  
Với cùng lượng request thì MPM worker ít tốn Ram hơn bởi vì nó sử dụng multithread trên process và chia sẽ không gian địa chỉ bộ nhớ cho nhau làm giảm hao tốn. Cái này thì có thề phụ thuộc vào OS Kernel. Nều cho mình setup Apache từ đầu thì mình sẽ dùng MPM Worker hoặc MPM Event ! Còn tại sao thì chưa biết! ]]>
/hvaonline/posts/list/44813.html#276441 /hvaonline/posts/list/44813.html#276441 GMT
Sinh viên sắp ra trường, muốn theo Sysadmin, cần chuẩn bị những gì? /hvaonline/posts/list/44813.html#276442 /hvaonline/posts/list/44813.html#276442 GMT Việc làm cho sinh viê mới ra trường khi làm lĩnh vực Sysadmin

quanta wrote:

consoko wrote:
The advantage of the brackets now is that the string "firefox" no longer appears in the grep command. Hence, grep itself won't show up in the grep result. http://askubuntu.com/questions/153419/how-does-this-tricky-bracket-expression-in-grep-work  
Có thể tóm tắt lại theo ý hiểu của bạn được không? Regular Expression này sẽ được thằng nào xử lý nhỉ: `bash` hay `grep`?

consoko wrote:
@quanta tiếp tục đặt những câu hỏi đi, qua những câu hỏi của bạn mình cũng phát hiện thêm nhiều điều lý thú. 
Câu hỏi chính vẫn còn nằm ở bên trên mà:
- Khi một request đi đến server, Apache sẽ tạo ra một process mới để xử lý hay là thế nào? - Multi-Processing Module là gì? Có những loại chính nào? Ưu, nhược điểm của từng loại?  
 
- Regular Expression được xử lý bởi bash. Vì mình chú ý, khi viết regular expression sai cú pháp thì bash sẽ show lỗi ra bash: can not interpreter (đại loại như vậy) :D - Khi request đến server web. Nếu vẫn còn dư process trống thì apache sẽ sử dụng những process này để phục vụ request. Nếu hết thì nó sẽ fork 1 process mới để xử lý. (còn cơ chế limit và spare process thế nào. mọi người đọc tài liệu về mpm module nhé). - Còn về mpm thì apache có 3 modules, nhưng mình chỉ bàn tới 2 modules chính là prefork and worker. + Prefork sử dụng process để xử lý request, sử dụng memory riêng cho từng process. Do đó nó sẽ chậm hơn và tốn nhiều tài nguyên hơn so với thread do cơ chế fork process. Nhưng stable hơn vì sử dụng memory riêng nên 1 process bị chết sẽ ko ảnh hưởng tới những process khác. + Worker sử dụng thread để xử lý process. Các thead do 1 process sinh ra sẽ sử dụng chung memory với nhau. Nếu 1 một thread bị chết sẽ ảnh hưởng đến toàn bộ thread trong một process. Đây là lý do không thể sử dụng PHP + worker + mod_php. Cũng do những đặc điểm trên nên thread sẽ nhanh hơn và chạy ít tốn tài nguyên hơn.]]>
/hvaonline/posts/list/44813.html#276443 /hvaonline/posts/list/44813.html#276443 GMT
Sinh viên sắp ra trường, muốn theo Sysadmin, cần chuẩn bị những gì?

destiny90 wrote:
Em cũng chưa hiểu lắm về khái niệm này. Lỗi (nếu có) xảy ra có phải là do xung đột trong quá trình sử dụng tài nguyên giữa các thread không anh? 
http://en.wikipedia.org/wiki/Thread_safety

consoko wrote:
- Regular Expression được xử lý bởi bash. Vì mình chú ý, khi viết regular expression sai cú pháp thì bash sẽ show lỗi ra bash: can not interpreter (đại loại như vậy) :D  
Không đúng. Nếu thế thì `ps -ef | grep [h]ttpd` cũng vẫn sẽ có `grep` process trong kết quả thôi. `grep` mới là thằng "translate" regex này thành `grep httpd`, còn bash vẫn giữ nguyên process đó (`grep [h]ttpd`). Do vậy, trong kết quả mới không có `grep` process, bởi vì làm gì có chữ "httpd" nào trong chuỗi `grep [h]ttpd`.

destiny90 wrote:
Em có đọc 1 số bài viết từ diễn dàn và 1 số trang khác thì thấy có nhiều tranh cãi là PHP gặp phải vấn đề về thread safe khi sử dụng multithread.  

consoko wrote:
+ Worker sử dụng thread để xử lý request. Các thead do 1 process sinh ra sẽ sử dụng chung memory với nhau. Nếu 1 một thread bị chết sẽ ảnh hưởng đến toàn bộ thread trong một process. Đây là lý do không thể sử dụng PHP + worker + mod_php. 
Nếu mình chạy qua FastCGI + php-fpm thì sao nhỉ?]]>
/hvaonline/posts/list/44813.html#276448 /hvaonline/posts/list/44813.html#276448 GMT