דילוג לתוכן
  • דף הבית
  • קטגוריות
  • פוסטים אחרונים
  • משתמשים
  • חיפוש
  • חוקי הפורום
כיווץ
תחומים

תחומים - פורום חרדי מקצועי

💡 רוצה לזכור קריאת שמע בזמן? לחץ כאן!
  1. דף הבית
  2. תכנות
  3. יצירת שירות שלא ניתן לעצירה בלינוקס

יצירת שירות שלא ניתן לעצירה בלינוקס

מתוזמן נעוץ נעול הועבר תכנות
17 פוסטים 6 כותבים 217 צפיות
  • מהישן לחדש
  • מהחדש לישן
  • הכי הרבה הצבעות
התחברו כדי לפרסם תגובה
נושא זה נמחק. רק משתמשים עם הרשאות מתאימות יוכלו לצפות בו.
  • nigunN מנותק
    nigunN מנותק
    nigun
    השיב לaaron ב נערך לאחרונה על ידי nigun
    #5

    @aaron
    אכן אני רוצה להגביל את עצמי
    והבעיה היא שroot יעיף את הכל
    אבל אם אני לא יודע איזה תהליך להרוג אז לא עוזר לי root
    @WWW
    אולי זה הסיבה שלא מצאתי שום מדריך לתהליך כזה
    כי זה יכול להיות בעייתי מאוד שיהיה תהליך אין לך שליטה עליו
    עריכה: את האמת כנראה תמיד המשתמש יכול להפעיל מחדש את המחשב במצב recovery
    (ואז נראה לי שהשירותים לא עולים)
    ולמחוק את הקובץ של התהליך הראשי ולבטל את כל השירותים הלא מזוהים וכך הוא יעקוף את החסימה

    מייל: nigun@duck.com

    תגובה 1 תגובה אחרונה
    1
    • nigunN מנותק
      nigunN מנותק
      nigun
      השיב לclickone ב נערך לאחרונה על ידי
      #6

      @clickone
      נתת לי רעיון חדש
      שיעזור למי גם למי שמכיר את לינוקס ישר והפוך (אולי זה פתרון לנטפרי)
      וזה פשוט למוצא תוכנה כמו CRON שרצה במילא על כל מחשב לינוקס
      ואם יש אותו בקוד פתוח פשוט להוסיף לתוכנה שורה שבודקת כל X דקות האם השירות הראשי פעיל ואם לא אז מפעיל שוב/מתקין
      ואז לקמפל אותה (אפשר לעשות את התהליך הזה על שרת ואז לתוכנה תוריד אותה)
      ולהחליף את התוכנה המזויפת עם התוכנה הישנה ואז גם ללקוח הכי מתוכם אין אפשרות לדעת מי שחדש את הפעולה כל הזמן
      הבעיה היא שמידי פעם יש עדכוני תוכנה שפשוט ידרסו את התוכנה המזוייפת
      בשביל זה אפשר אולי להריץ סקריפט בשירות הראשי שבודק כל הזמן האם יש עדכון לתוכנה הזאת
      ואם כן, היא יוצרת עותק חדש של הגירסה האחרונה ומעדכנת בלי לשאול את הלקוח
      החסרון בזה הוא שלא תמיד הלקוח רוצה עדכון והוא לא יבין מי עדכן את זה לבד (אבל ברוב המשתמשים זה לא רלוונטי)
      אפשרות שניה היא להגדיר איכשהו שAPT ידלג על הבדיקה של התוכנה הזה והיא לעולם לא תתעדכן

      מייל: nigun@duck.com

      yossizY תגובה 1 תגובה אחרונה
      0
      • yossizY מנותק
        yossizY מנותק
        yossiz
        השיב לnigun ב נערך לאחרונה על ידי
        #7

        @nigun אתה הולך רחוק מאוד עם הרעיונות שלך... לדעתי לא לכל בעיה חייב להיות פתרון טכנולוגי
        ואם כבר פתרון טכנולוגי, לדעתי מה ש@aaron הציע (מודול קרנל) זה הכי נורמלי וישר במקום להפוך את כל העולם. (זה גם הדרך של וויפרי).

        📧 יוסי@מייל.קום | 🌎 בלוג | ☕ קפה

        nigunN תגובה 1 תגובה אחרונה
        4
        • nigunN מנותק
          nigunN מנותק
          nigun
          השיב לyossiz ב נערך לאחרונה על ידי
          #8

          @yossiz
          את האמת לא הבנתי כל כך איך אפשר לשנות דברים בקרנל אז לכן הלכתי על כל מיני כיוונים הזויים
          האם יש לך כיוון לתת לי להבין איך עובד מודול קרנל?

          מייל: nigun@duck.com

          yossizY תגובה 1 תגובה אחרונה
          0
          • yossizY מנותק
            yossizY מנותק
            yossiz
            השיב לnigun ב נערך לאחרונה על ידי yossiz
            #9

            @nigun לא משנים דברים בקרנל, מודול קרנל זה ספרייה שנטענת על ידי הקרנל ומשתמשת ב-API של הקרנל להוסיף יכולות או התנהגויות שונות לקרנל.
            דרייברים הם סוג של מודול קרנל, שמוסיפים יכולות לקרנל לתקשר מול התקנים שונים
            ווייפרי הוא "מודול קרנל" בווינדוס שמשתשמת ב-API של הקרנל שמיועד עבור סינון תעבורה, (וגם הגנת הרכיבים הנחוצים ממחיקה)
            מן הסתם יש משהו מקביל בלינוקס.
            לעניינך אתה רוצה להשתמש ב-API של הקרנל עבור דבר אחד ויחיד - מניעת הריגת תהליך. כל השאר אין צורך ולא מומלץ לעשות בתוך הקרנל, תעשה ב-userland (מרחב ה-user לעומת מרחב הקרנל).
            פה יש תחילת מהלך.
            אבל שים לב לכמה דברים:

            • מודול קרנל צריך לכתוב ב-C.
            • גם אם אתה מכיר את שפת C, יש קשיים והגבלות מיוחדים בתכנות קרנל שלא קיימים ב-userland
            • שגיאה בקוד של המודול יגרום ל-kernel panic (המקביל של מסך כחול בלינוקס)
            • בד"כ צריך להתאים אותו לגירסת הקרנל, (ה-API שפנימי של הקרנל לא יציב ומשתנה כל הזמן), אם זה לא מתקבל כחלק מהקוד של הקרנל, תצטרך לשדרג אותו בכל שחרור חדש של הקרנל או לחילופין לא לשדרג את גירסת הקרנל שלך.

            (סוף דבר, תשקול פתרון לא טכנולוגי...)

            📧 יוסי@מייל.קום | 🌎 בלוג | ☕ קפה

            nigunN תגובה 1 תגובה אחרונה
            5
            • yossizY מנותק
              yossizY מנותק
              yossiz
              כתב ב נערך לאחרונה על ידי
              #10

              @nigun כנראה אפשר להגדיר תהליך כ"בלתי הריג" על ידי Apparmor.

              📧 יוסי@מייל.קום | 🌎 בלוג | ☕ קפה

              תגובה 1 תגובה אחרונה
              3
              • yossizY מנותק
                yossizY מנותק
                yossiz
                כתב ב נערך לאחרונה על ידי
                #11

                @nigun עוד מידע טוב, https://unix.stackexchange.com/a/484452

                נ.ב. בסוף היום, מי שעשה את החסימה תמיד ידע איך להוריד אותו, אין מנוס מזה.

                📧 יוסי@מייל.קום | 🌎 בלוג | ☕ קפה

                תגובה 1 תגובה אחרונה
                3
                • dovidD מנותק
                  dovidD מנותק
                  dovid ניהול
                  כתב ב נערך לאחרונה על ידי dovid
                  #12

                  המשפט הזה

                  נ.ב. אולי זה לא נושא טוב לדיון ציבורי כי נטפרי מנסים לבנות תוכנת וופרי ללינוקס ולא רוצים שידברו על המאחורי הקלעים

                  בכלל לא נכון. נטפרי לא עובדים על זה בינתיים בכלל,
                  וכשיעשו את זה זה יהיה די דומה למה שיש היום בwindows כלומר הרעיון אותו דבר והיעדר הביצוע אינו מהצורך לחשוב איך אלא פשוט מעיסוק במשימות אחרות.

                  מנטור אישי למתכנתים (ולא רק) – להתקדם לשלב הבא!

                  בכל נושא אפשר ליצור קשר dovid@tchumim.com

                  nigunN תגובה 1 תגובה אחרונה
                  3
                  • nigunN מנותק
                    nigunN מנותק
                    nigun
                    השיב לdovid ב נערך לאחרונה על ידי
                    #13

                    @dovid אמר ביצירת שירות שלא ניתן לעצירה בלינוקס:

                    המשפט הזה

                    נ.ב. אולי זה לא נושא טוב לדיון ציבורי כי נטפרי מנסים לבנות תוכנת וופרי ללינוקס ולא רוצים שידברו על המאחורי הקלעים

                    בכלל לא נכון. נטפרי לא עובדים על זה בינתיים בכלל,

                    התכוונתי שמתכננים לבנות, כי זה מופיע ברשימת דברים לפיתוח בנטפרי.

                    מייל: nigun@duck.com

                    תגובה 1 תגובה אחרונה
                    0
                    • nigunN מנותק
                      nigunN מנותק
                      nigun
                      השיב לyossiz ב נערך לאחרונה על ידי
                      #14

                      @yossiz אמר ביצירת שירות שלא ניתן לעצירה בלינוקס:

                      מודול קרנל צריך לכתוב ב-C.

                      זה נראה מכאן שאפשר לבנות גם בrust
                      או שזה משהו אחר בכלל?

                      מייל: nigun@duck.com

                      yossizY תגובה 1 תגובה אחרונה
                      1
                      • yossizY מנותק
                        yossizY מנותק
                        yossiz
                        השיב לnigun ב נערך לאחרונה על ידי
                        #15

                        @nigun צודק. צריך לבדוק אם זה מספיק יציב.

                        📧 יוסי@מייל.קום | 🌎 בלוג | ☕ קפה

                        nigunN תגובה 1 תגובה אחרונה
                        0
                        • nigunN מנותק
                          nigunN מנותק
                          nigun
                          השיב לyossiz ב נערך לאחרונה על ידי
                          #16

                          @yossiz
                          מצאתי דיון גם האם ניתן לבנות עם GO ?
                          אבל לא הבנתי מה המסקנה
                          בנתיים שלחתי את הסרטון לבדיקה אולי שם נמצאים כל ההסברים

                          מייל: nigun@duck.com

                          yossizY תגובה 1 תגובה אחרונה
                          0
                          • yossizY מנותק
                            yossizY מנותק
                            yossiz
                            השיב לnigun ב נערך לאחרונה על ידי
                            #17

                            @nigun הדיון שם על כתיבת קרנל שלם ב-GO. לכתוב מודול עבור קרנל לינוקס נראה לי שכולי עלמא מודים שאי אפשר, כי תוכנות GO חייבים את ה-runtime של GO, וב-runtime של GO יש יותר מדי דברים שתלויים על ההנחה שהקוד רצה ב-userspace.

                            כתבתי מסברא, יכול להיות שאני טועה, או שיש runtime חילופי ל-GO שירוץ בתוך הקרנל, או שאפשר לכתוב אחד כזה.

                            📧 יוסי@מייל.קום | 🌎 בלוג | ☕ קפה

                            תגובה 1 תגובה אחרונה
                            1

                            בא תתחבר לדף היומי!
                            • התחברות

                            • אין לך חשבון עדיין? הרשמה

                            • התחברו או הירשמו כדי לחפש.
                            • פוסט ראשון
                              פוסט אחרון
                            0
                            • דף הבית
                            • קטגוריות
                            • פוסטים אחרונים
                            • משתמשים
                            • חיפוש
                            • חוקי הפורום