Tại sao một số chương trình không thể nhận được đầu ra của các tiến trình con?


0

Một số chương trình không hiển thị đầu ra của một số quy trình con. Bạn có thể thấy is a screenshot,

Tôi đã cố chạy php --version trong ba tiện ích bàn điều khiển: Git Bash (MinGw), dòng lệnh Windows 8 và thiết bị đầu cuối Cygwin.

Hai chương trình đầu tiên trả về thông tin về phiên bản PHP, nhưng Cygwin không in bất kỳ đầu ra nào. Tuy nhiên, Cygwin không phải là chương trình duy nhất không in đầu ra giao diện điều khiển của các tiến trình con. Ví dụ, qmake (một phần của Qt Framework) cũng không trả về gì trong Cygwin khi chạy qmake -query. Do đó, tôi không thể sử dụng Qt Creator trên PC của mình, vì Qt Creator không thể phân tích đầu ra từ qmake.

Bất kỳ ý tưởng làm thế nào để giải quyết vấn đề này? Hiện tại tôi đang sử dụng Windows 8 x64, nhưng vấn đề này cũng xảy ra khi tôi cài đặt Windows 7 x64 trên PC.


Bạn đã cài đặt PHP và Qmake thông qua trình cài đặt Cygwin chưa? Tôi không biết PHP được cung cấp bởi Cygwin ...
DanteTheEgregore

Không, các chương trình này đã được cài đặt bằng trình cài đặt gốc của chúng, nhưng một số bảng điều khiển gốc Windows sử dụng như ipconfig, tracert, v.v ... hoạt động tốt trong Cygwin. Vì vậy, tôi nghĩ rằng Cygwin không có vấn đề gì với việc chạy các ứng dụng Windows nói chung, nhưng chỉ một số ứng dụng hoạt động không chính xác trong Cygwin.
Serg

Câu trả lời:


0

Bạn đang trộn các thuật ngữ!

Ảnh chụp màn hình đầu tiên giống như thứ hai - đó là bảng điều khiển Windows tiêu chuẩn.

Trên thực tế, ảnh chụp màn hình thứ ba là trình giả lập bạc hà, nhưng không phải là một giao diện điều khiển thực sự. Xem "min" trong tên của nó? Số lượng lớn các ứng dụng không thể chạy trong mintty!

Tôi tin rằng, giải pháp là sử dụng bàn điều khiển thích hợp. Ngoài ra, bạn có thể dùng thử ConEmu với tư cách là thiết bị đầu cuối Windows tiên tiến, đó là "tất cả đề xuất và đầy đủ tính năng" (Tôi là tác giả).

Đối với người tạo QT ... Hãy thử sử dụng Trình xử lý để tìm ra vấn đề Vâng, điều này không nhanh chóng và dễ dàng, nhưng bạn có thể thử. Nếu nó hoạt động trên PC khác mà bạn có, bạn có thể so sánh nhật ký của mình. Ngoài ra, có thể một số công cụ của bên thứ ba cài đặt các móc toàn cầu, gây cản trở hoạt động bình thường của đường ống. Có thể là thứ gì khác ... Virus hay virus, không?


Cảm ơn lời khuyên, tôi sẽ thử ConEmu. Ngoài ra, tôi chỉ cố gắng viết một ứng dụng Hello World bằng Visual C ++ 2012 và Cygwin đã không in lại đầu ra của nó. Vì vậy, Cygwin thực sự không hoạt động tốt với một số ứng dụng. Tuy nhiên, tình huống với Qt Creator vẫn chưa rõ ràng: tại sao Qt Creator không thể hoạt động với qmake.exe? Có vẻ như Qt Creator cố đọc cấu hình từ qmake, nhưng nhận được phản hồi trống. Tôi nghi ngờ rằng lý do của vấn đề này phải tương tự. Qt Creator có sử dụng một số công cụ để mô phỏng Unix không?
Serg

Trả lời cập nhật. Hãy thử ProcessMonitor?
Maximus

Tôi không tìm thấy bất kỳ vấn đề nào khi sử dụng ProcessMonitor. Ngoài ra, tôi đã thử các loại cài đặt khác nhau của Qt như trực tuyến / ngoại tuyến, x86 / x64 và cuối cùng tôi thấy rằng sự cố nằm trong thư mục cài đặt. Trước đó tôi đã cài đặt Qt vào phân vùng D và nó không hoạt động. Bây giờ tôi đã cài đặt nó vào phân vùng C và mọi thứ đều hoạt động tốt. Có vẻ như lỗi này có liên quan đến Qt, nhưng không liên quan đến hệ thống nói chung. Trong mọi trường hợp, nhờ giúp đỡ, vấn đề được giải quyết!
Serg

0

Như người dùng Maximus đề xuất đây trước đây, lý do là phần mềm Antivirus. Sau khi tôi thêm Cygwin và Qt vào danh sách ngoại lệ, cả hai chương trình bắt đầu hoạt động bình thường.

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.