diff options
Diffstat (limited to 'core')
| -rw-r--r-- | core/core_bind.cpp | 5 | ||||
| -rw-r--r-- | core/core_bind.h | 1 | ||||
| -rw-r--r-- | core/os/os.h | 1 |
3 files changed, 7 insertions, 0 deletions
diff --git a/core/core_bind.cpp b/core/core_bind.cpp index 0f0b8ed63f..7c3cbfe48d 100644 --- a/core/core_bind.cpp +++ b/core/core_bind.cpp @@ -269,6 +269,10 @@ Error OS::kill(int p_pid) { return ::OS::get_singleton()->kill(p_pid); } +bool OS::is_process_running(int p_pid) const { + return ::OS::get_singleton()->is_process_running(p_pid); +} + int OS::get_process_id() const { return ::OS::get_singleton()->get_process_id(); } @@ -571,6 +575,7 @@ void OS::_bind_methods() { ClassDB::bind_method(D_METHOD("create_instance", "arguments"), &OS::create_instance); ClassDB::bind_method(D_METHOD("kill", "pid"), &OS::kill); ClassDB::bind_method(D_METHOD("shell_open", "uri"), &OS::shell_open); + ClassDB::bind_method(D_METHOD("is_process_running", "pid"), &OS::is_process_running); ClassDB::bind_method(D_METHOD("get_process_id"), &OS::get_process_id); ClassDB::bind_method(D_METHOD("get_environment", "variable"), &OS::get_environment); diff --git a/core/core_bind.h b/core/core_bind.h index f6f2791006..76313dc1a8 100644 --- a/core/core_bind.h +++ b/core/core_bind.h @@ -173,6 +173,7 @@ public: Error kill(int p_pid); Error shell_open(String p_uri); + bool is_process_running(int p_pid) const; int get_process_id() const; bool has_environment(const String &p_var) const; diff --git a/core/os/os.h b/core/os/os.h index a7cf3f1679..5eac77d634 100644 --- a/core/os/os.h +++ b/core/os/os.h @@ -152,6 +152,7 @@ public: virtual Error create_instance(const List<String> &p_arguments, ProcessID *r_child_id = nullptr) { return create_process(get_executable_path(), p_arguments, r_child_id); }; virtual Error kill(const ProcessID &p_pid) = 0; virtual int get_process_id() const; + virtual bool is_process_running(const ProcessID &p_pid) const = 0; virtual void vibrate_handheld(int p_duration_ms = 500); virtual Error shell_open(String p_uri); |
