Quá trình thoát nodejs
Có thể quy trình Node chưa kết thúc đúng cách và bạn không biết gì? Show
Trong bài viết này, tôi sẽ chỉ cho bạn cách chấm dứt Node. js xử lý bằng 2 phương thức khác nhau và giải thích trạng thái mã thoát khi chấm dứt Nút. quy trình js tiến trình. exit() sẽ buộc một Nút. chấm dứt quá trình jsBạn có thể đã thấy điều này thường xuyên trong Node. dự án js
0 là lệnh phổ biến nhất để kết thúc một Nút. quy trình js 0 sẽ cố gắng nhanh chóng kết thúc quá trình ngay cả khi các cuộc gọi không đồng bộ chưa hoàn thành
tiến trình. danh sách mã trạng thái exit()Trong các ví dụ trên, bạn có thể đã thấy tôi thêm 2 làm đối số 0 chấp nhận các đối số chỉ là mã trạng thái hoặc trong trường hợp này là mã thoátĐây là danh sách các mã thoát và chức năng của chúng Mã thoát 0Mã thoát 0 cho phép Node. js biết chấm dứt khi không còn hoạt động không đồng bộ nào xảy ra
Đó là quy trình mã thoát mặc định. exit() sử dụng khi không có gì được truyền vào hàm. Bạn cũng có thể vượt qua 0
Mã thoát 1Mã thoát 1 dành cho khi xảy ra trường hợp ngoại lệ nghiêm trọng chưa được xử lý mà miền không xử lý ________số 8_______ 0 là một trong những phương thức cho Node. js để chấm dứt một quá trình. Có một cách tiếp cận khác và an toàn hơn để chấm dứt một Nút. quy trình jsMã thoát 2Mã thoát này được Bash dành riêng cho việc sử dụng sai
Mã thoát 3Nút. js mã thoát 3 dành cho mã trạng thái khi không thể phân tích cú pháp mã nội bộ. Mã này chỉ dành cho mục đích phát triển
Mã thoát 4Nút. js mã thoát 4 hiếm khi xảy ra và chỉ dành cho phát triển. Mã thoát này xảy ra khi mã nguồn JavaScript của bạn không trả về giá trị hàm
Mã thoát 5Mã thoát 5 dành cho các lỗi nghiêm trọng. Điều này xảy ra khi động cơ V8 không thể phục hồi
quá trình sử dụng. exitCode để chấm dứt Node một cách an toàn. quy trình js 5 cho phép Nút. js kết thúc một cách tự nhiên và tránh quy trình Node thực hiện thêm công việc xung quanh lập lịch vòng lặp sự kiện
Oh wow, bạn đã làm được đến mức này rồi. Nếu bạn thích bài viết này, có thể thích hoặc đăng lại chủ đề trên Twitter Tôi thích tweet về Node. js và đăng các đoạn mã hữu ích. Theo tôi ở đó nếu bạn cũng muốn một số Trong hướng dẫn này, chúng tôi sẽ chỉ cho bạn các cách khác nhau để thoát khỏi Node. chương trình js. Trước tiên, bạn cần hiểu rằng Node. js hoạt động trên một luồng hoặc quy trình chính. Bạn có thể sinh ra các tiến trình con bổ sung để xử lý thêm công việc. Thoát khỏi quy trình chính cho phép chúng tôi thoát khỏi Nút Mặc dù có nhiều cách để thoát khỏi Node, nhưng một số cách tốt hơn những cách khác trong một số trường hợp nhất định, chẳng hạn như nếu bạn đang chạy REPL hay không. Chúng tôi sẽ giải thích điều này chi tiết hơn trong suốt bài viết Để một tập lệnh thoát hoàn toànThoát khỏi một nút. chương trình js bắt đầu tại dòng lệnh có thể đơn giản như đợi tập lệnh thực thi xong. Ngầm định, nút. js sẽ thoát khi đến cuối tập lệnh Bạn có thể thấy điều này bằng cách chạy đoạn script sau Chạy chương trình với lệnh
Lưu ý rằng các sự kiện và vòng lặp đang chờ xử lý sẽ chặn thoát chương trình. Thêm chức năng lặp lại này vào cuối tập lệnh trên Chạy lại. Lần này, chương trình không thoát, vì hàm
Trường hợp "Tôi là Người Dơi. " cụm từ được in liên tục cho đến khi bạn thoát mạnh, như với Quy trình sử dụng. lối ra()Chúng ta có thể thoát khỏi Node. các chương trình js sử dụng lệnh gọi hàm Đối tượng 0 là một biến toàn cục cho phép chúng ta quản lý Node hiện tại. quy trình js. Vì nó là toàn cầu nên chúng ta có thể truy cập nó từ bất cứ đâu trong Node. js mà không cần sử dụng 1 để nhập nóHãy để chúng tôi cập nhật chương trình cuối cùng không thoát do hàm 3 sau 5 giây. Thêm chức năng sau vào cùng 'người dơi. js' từ trước đóKhi bạn chạy
Sử dụng Nút. js diễn giải các mã khác 0 là lỗi và mã thoát 0 là thành công Nút thoát. js sử dụng quy trình. giết chết()Chúng ta cũng có thể thoát khỏi Node. js sử dụng 6 để tắt Node đang chạy. quy trình js. Sự khác biệt giữa điều này và process.exit là 6 lấy pid hoặc id tiến trình của tiến trình mà chúng ta muốn hủy, cũng như một tín hiệu tùy chọn mà chúng ta muốn gửi đến tiến trình. Điều này có nghĩa là chúng tôi có thể gửi tín hiệu để tiêu diệt các quy trình khác ngoài Nút chính. quy trình js. Điều này rất hữu ích trong các ứng dụng đồng thời cao với nhiều quy trình đang chạyĐể giết tiến trình Node chính, chúng ta chỉ cần chuyển pid của tiến trình chính Để thấy điều này đang hoạt động, hãy thay thế hàm 9 trong ví dụ mã trước của chúng tôi bằng phiên bản này sử dụng 6Chương trình thoát đúng lịch trình như trước, sau khi một số câu lệnh tương tự được in. Lần này pid cũng được in ra bàn điều khiển (của bạn có thể khác 15)
Phương pháp này cũng hoạt động trong REPL cũng như trong Node. chương trình js Cách thoát nút. js sử dụng quy trình. Huỷ bỏTương tự như vậy, chúng ta có thể sử dụng 1 để thoát khỏi Nút. js. Phương pháp này hoạt động trong REPL cũng như các tập lệnh và ứng dụngSự khác biệt giữa 1, 6 và process.exit là 1 luôn thoát khỏi Nút. js ngay lập tức và tạo một tệp lõi. Ngoài ra, không có cuộc gọi lại sự kiện nào sẽ chạyHãy xem hướng dẫn thực hành, thực tế của chúng tôi để học Git, với các phương pháp hay nhất, tiêu chuẩn được ngành chấp nhận và bao gồm bảng gian lận. Dừng các lệnh Git trên Google và thực sự tìm hiểu nó Ghi chú. Tệp lõi vừa được đề cập không được tạo nếu 6 được đặt thành 7. Xem hướng dẫn này để biết thêm chi tiếtĐể xem nó hoạt động, hãy thay thế lệnh gọi 6 trong tệp 9 của chúng tôi bằng lệnh gọi tới 1 và chạy node batman.js Khi bạn chạy chương trình với
REPLVì REPL (Read–eval–print loop) là một loại môi trường thực thi khác với Node điển hình của bạn. js, các chiến lược thoát này xứng đáng có các phần đặc biệt của riêng chúng. Điều này là do REPL là một môi trường tương tác và không thoát hoàn toàn như một tập lệnh Như chúng tôi đã đề cập trong một số phần trước, một số chiến lược trên cũng sẽ hoạt động trong REPL. Tuy nhiên, việc sử dụng chúng trong trường hợp này không phải là điển hình và thay vào đó, bạn nên sử dụng các phương pháp sau Thoát bằng tổ hợp phímKhông giống như vim, thoát khỏi REPL thực sự đơn giản. Trong một REPL đang chạy, bạn có thể thoát khỏi nó bằng cách sử dụng tổ hợp phím Sử dụng. thoát lệnhChúng ta cũng có thể thoát khỏi một Node. js REPL bằng cách sử dụng lệnh ". lối ra". Khi bạn nhập cái này vào Node REPL đang chạy, REPL hiện tại sẽ thoát. Lời gọi này hoạt động tương tự như phương pháp Phần kết luậnTrong nhiều trường hợp, sử dụng Quy trình trên mã thoát là gì?Một quy trình đặt mã thoát trong giá trị được trả về từ WinMain hoặc hàm chính "C" . Ví dụ: một quy trình có thể trả về 0 để biểu thị thành công hoặc giá trị khác 0 biểu thị mã lỗi. Một ứng dụng có thể gọi hàm GetExitCodeProcess để lấy mã thoát cho một ứng dụng khác.
Sự khác biệt giữa quá trình thoát 0 và 1 là gì?Hàm gọi exit(0) và exit(1) được sử dụng để hiển thị trạng thái kết thúc chương trình Python. Lệnh gọi exit(0) biểu thị việc thực thi chương trình thành công trong khi lệnh exit(1) biểu thị một số sự cố/lỗi xảy ra khi thực hiện chương trình .
Làm thế nào để thoát khỏi dòng lệnh nút?Nhấn CTRL+ c (ngay cả trên máy Mac, đặc biệt là trên máy Mac. ) hoặc chỉ cần gọi quy trình . phương thức exit() để thoát khỏi bảng điều khiển Node. hoặc thậm chí đơn giản hơn, bạn chỉ cần gõ. lối ra. |