سؤال

هنا أنا /root/.bash_profile:

export DISPLAY=:42 && cd /home/df/SimulatedRpu-ex/bin && ./SimulatedRpu-V1 &

عندما أبدأ تشغيل الخادم الخاص بي، أقوم بالتشغيل ps aux | grep SimulatedRpu وهنا هو الإخراج:

root      2758  0.2  1.0  62316 20416 ?        Sl   14:35   0:00 ./SimulatedRpu-V1
root      3197  0.5  0.9  61428 19912 pts/0    Sl   14:35   0:00 ./SimulatedRpu-V1
root      3314  0.0  0.0   5112   716 pts/0    S+   14:35   0:00 grep SimulatedRpu

لذا، فإن رسالة خطأ طباعة البرنامج حول المنفذ مستخدمة بالفعل.ولكن لماذا الأمر في /root/.bash_profile البدء مرتين؟الرجاء مساعدتي، شكرًا لك! وبالمناسبة، أستخدم Redhat Enterprise 5.5

هل كانت مفيدة؟

المحلول

تتم قراءة الملف الشخصي في كل مرة تقوم فيها بتسجيل الدخول.لذلك فقط عن طريق تسجيل الدخول لتشغيل ps aux | grep SimulatedRpu, ، تقوم بتشغيل ملف التعريف مرة أخرى وبالتالي تبدأ عملية جديدة.

يجب عليك وضع الأمر في ملف الحرف الأول من البرنامج النصي بدلاً من.

[يحرر] يجب عليك أيضا تشغيل Xvnc بنفس البرنامج النصي - وبهذه الطريقة، يمكنك تشغيل خادم العرض وإيقافه مع تطبيقك.

نصائح أخرى

جربه مثل

if ! ps aux | grep '[S]imulateRpu'; then
    export DISPLAY=:42 && cd /home/df/SimulatedRpu-ex/bin && ./SimulatedRpu-V1 &
fi;

بهذه الطريقة سيتم التحقق أولاً مما إذا كان التطبيق لم يتم تشغيله بعد.[] حول S لمنع grep من العثور على نفسه ؛)

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top