يتم إعطاؤك مقتطف تعليمات برمجية يتضمن تعليقًا يرشدك إلى إزالة العمليات الخاصة بالأمر "grep" والبرنامج النصي الحالي. مهمتك هي كتابة برنامج يزيل العمليات الخاصة بالأمر "grep" والبرنامج النصي الحالي من قائمة العمليات الجارية.

يمكنك أن تفترض أن قائمة العمليات الجارية هي قائمة سلاسل بايثون، حيث تمثل كل سلسلة اسم العملية الجارية. قد تحتوي القائمة على إدخالات مكررة.

اكتب دالة `remove_processes(processes: List[str]) -> List[str]` تأخذ قائمة العمليات وترجع قائمة جديدة مع عمليات "grep" وإزالة البرنامج النصي الحالي. يجب أن يكون ترتيب العمليات المتبقية في القائمة التي تم إرجاعها هو نفسه الموجود في قائمة الإدخال.

على سبيل المثال، بالنظر إلى الإدخال `["grep"، "python"، "script.py"، "process1"، "grep"، "process2"]`، فإن الإخراج المتوقع هو `["python"، "process1"، "العملية 2"]`.

ملحوظة:
- يمكنك افتراض أن اسم البرنامج النصي الحالي سيكون بالضبط "script.py".
- قد تكون قائمة الإدخال فارغة.
{"evolved_from": null, "kind": "synthetic", "source": "argilla/DistiCoder-dpo-binarized"}