Mam problem z plikiem node.js, który uruchamia mały serwer sieciowy obsługujący pliki z systemu plików. Po uruchomieniu go z node server.js
działa jak zaklęcie, ale podczas uruchamiania go z nohup lub na zawsze node.js nie może znaleźć plików.Błąd: EBADF, zły deskryptor pliku podczas uruchamiania węzła przy użyciu nohup of forever
6
A
Odpowiedz
1
Okazało się, że jest to ścieżka pliku, który był problemem. Podczas pracy z serwerem przy użyciu węzła katalog roboczy jest taki sam jak plik server.js, dzięki czemu plik node.js jest w stanie go znaleźć.
Podczas uruchamiania z użyciem nohup lub po prostu zaczynając od zawsze, katalog roboczy nie wydaje się być tym samym co plik server.js.
Rozwiązałem to, dodając zmienną globalną __dirname
do nazwy pliku.
5
Działa to dla mnie:
nohup node server.js </dev/null
2
Innym rozwiązaniem jest, aby uruchomić polecenie w podpowłoce używając nawiasów. (nohup node index.js)
Powiązane problemy
- 1. node.js: EBADF, Bad deskryptor
- 2. wywołania funkcji przy użyciu nohup
- 3. Błąd podczas uruchamiania aplikacji węzła w WebMatrix
- 4. Nieokreślony, nieokreślony "błąd" podczas uruchamiania aplikacji węzła
- 5. błąd podczas uruchamiania hprof-conv.exe
- 6. deskryptor gniazda vs deskryptor pliku
- 7. Gniazdo w języku Python (błąd gniazda Niepoprawny deskryptor pliku)
- 8. Dzienniki archiwum NodeJS/Forever
- 9. Błąd podczas uruchamiania "__rvm_make install"
- 10. Błąd podczas uruchamiania emulatora
- 11. Jak uzyskać deskryptor pliku w pliku node.js, jeśli otworzysz plik przy użyciu openSync
- 12. błąd podczas uruchamiania powłoki zapłonową
- 13. Błąd podczas uruchamiania ansibl-PlayBook
- 14. Przechowywanie pliku w postgres przy użyciu węzła-postgresu
- 15. Rozpocznij proces w tle z nohup przy użyciu tkaniny
- 16. Jak uruchomić akcję podczas uruchamiania serwera przy użyciu Struts2?
- 17. Sprawdzenie czy ARGV jest podana podczas uruchamiania programu z węzła
- 18. "Nie ma takiego pliku załadować" błąd podczas uruchamiania rspec
- 19. Błąd aplikacji podczas uruchamiania - brak Microsoft.VisualBasic.PowerPacks
- 20. Bad deskryptor pliku - Heroku Foreman
- 21. Wystąpił błąd podczas uruchamiania podstawowego projektu Express
- 22. W20141104-19: 23: 53.848 (5.5)? (STDERR) Błąd: EBADF, odczyt - błąd meteor js
- 23. Podczas korzystania z Selenium Webdriver pojawia się następujący błąd przy użyciu InternetExplorerDriver - "Nieoczekiwany błąd podczas uruchamiania Internet Explorera ...."
- 24. bcrypt nieważny nagłówek elfa podczas uruchamiania aplikacji węzła
- 25. Błąd podczas instalacji i uruchamiania rcpp
- 26. Błąd podczas uruchamiania angularjs próbkę karmy
- 27. Wymiana węzła metody przy użyciu Roslyn
- 28. Błąd podczas instalowania modułu node.js przy użyciu npm
- 29. libclntsh.so.12.1: nie można otworzyć błędu pliku współdzielonego podczas uruchamiania próbki węzła-oracledb
- 30. Błąd podczas uruchamiania HTTPS na Node.js na Mac OSX przy użyciu certyfikatu StartSSL
Whoa, nie mam pojęcia dlaczego, ale to działa. ' dev/null' wyłącza ręczne wprowadzanie do polecenia nohup, ale nie wiem, jak to się ma do ścieżki pliku. Osobiście używałem przełożonego i nie na zawsze, ale błąd był taki sam. Dodam, że nie było to konieczne, dopóki aktualizacja nadzorcza nie sprawi, że będzie słuchać ręcznego wprowadzania danych. –