1 //===-- HostProcessPosix.h --------------------------------------*- C++ -*-===// 2 // 3 // Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions. 4 // See https://llvm.org/LICENSE.txt for license information. 5 // SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception 6 // 7 //===----------------------------------------------------------------------===// 8 9 #ifndef LLDB_HOST_POSIX_HOSTPROCESSPOSIX_H 10 #define LLDB_HOST_POSIX_HOSTPROCESSPOSIX_H 11 12 #include "lldb/Host/HostNativeProcessBase.h" 13 #include "lldb/Utility/Status.h" 14 #include "lldb/lldb-types.h" 15 16 namespace lldb_private { 17 18 class FileSpec; 19 20 class HostProcessPosix : public HostNativeProcessBase { 21 public: 22 HostProcessPosix(); 23 HostProcessPosix(lldb::process_t process); 24 ~HostProcessPosix() override; 25 26 virtual Status Signal(int signo) const; 27 static Status Signal(lldb::process_t process, int signo); 28 29 Status Terminate() override; 30 31 lldb::pid_t GetProcessId() const override; 32 bool IsRunning() const override; 33 34 llvm::Expected<HostThread> 35 StartMonitoring(const Host::MonitorChildProcessCallback &callback) override; 36 }; 37 38 } // namespace lldb_private 39 40 #endif // LLDB_HOST_POSIX_HOSTPROCESSPOSIX_H 41