फ्रीबीएसडी में अनंत लूप - प्रक्रिया, निगरानी, ​​सेगमेंटेशन-गलती, फ्रीब्स, वॉचडॉग

मेरे पास एक स्क्रिप्ट है जो लगातार segfaults - दसमस्या है कि मैं हल नहीं कर सकता क्योंकि segfault python libxml बाइंडिंग में है - उनको नहीं लिखा था। ठीक है, इसलिए लिनक्स में मैं inf.loop चलाता था ताकि जब स्क्रिप्ट मर जाए - यह पुन: प्रारंभ होता है, जैसे:

#!/bin/bash
while [ 1 ]
do
nice -n 19 python server.py
sleep 1
done

खैर, मैं फ्रीबीएसडी में / bin / bash नहीं ढूंढ सकता है, इसलिए यह काम नहीं करता है।

कोई विचार? मान लें कि क्रॉन एक विकल्प नहीं है - डाउनटाइम की अनुमति कुछ सेकंड है।

उत्तर:

जवाब के लिए 3 № 1

/ bin / sh लगभग निश्चित रूप से मौजूद है, लेकिन यदि आपको वास्तव में बैश की आवश्यकता है:

cd /usr/ports/*/bash
make install

मुझे विश्वास है कि / usr / local / bin / bash में bash इंस्टॉल करना चाहिए


उत्तर № 2 के लिए 1

सिस्टम पर कुछ शैल प्रोग्राम होंगे, और यह स्क्रिप्ट ऐसा लगता है कि यह किसी भी खोल में बहुत अधिक चलाएगा।

प्रकार type bash यह देखने के लिए कि बैश कहां है। यदि नहीं, तो sh कोशिश करें। यह वहां होना चाहिए, और यह काम करना चाहिए। का परिणाम लें type bash या type sh, और / bin / bash के स्थान पर उपयोग करें।वैकल्पिक रूप से, / etc / passwd देखें, अपने खाते की तलाश करें, और ध्यान दें कि खोल क्या है। मेरा मानना ​​है कि यह आखिरी क्षेत्र है, और यह कुछ / bin / sh या / usr / bin / bash या जो कुछ भी कहेंगे। इसका उपयोग / bin / bash के बजाय करें।


जवाब के लिए 0 № 3

निश्चित नहीं है कि डिफ़ॉल्ट रूप से कौन सा खोल फ्रीबीएसडी उपयोग करता है, लेकिन शायद यह कुछ के साथ आता है। जो भी खोल आप उपयोग कर रहे हैं उसके लिए मैन पेज आपको शेल के लूप सिंटैक्स को बताना चाहिए। यह शायद बहुत समान है।


संबंधित सवाल
सबसे लोकप्रिय