(
args: list[str],
executable: Optional[Union[str, list[str]]] = None,
env: Optional[Mapping[str, str]] = None,
output_file: Optional[str] = None,
)
| 144 | |
| 145 | |
| 146 | def _spawn( |
| 147 | args: list[str], |
| 148 | executable: Optional[Union[str, list[str]]] = None, |
| 149 | env: Optional[Mapping[str, str]] = None, |
| 150 | output_file: Optional[str] = None, |
| 151 | ) -> int: |
| 152 | file: AbstractContextManager[Any] = nullcontext() |
| 153 | kwargs = {} |
| 154 | if output_file: |
| 155 | file = open(output_file, "ab") # noqa: SIM115 |
| 156 | kwargs = {"stdout": file, "stderr": file} |
| 157 | |
| 158 | if executable is None: |
| 159 | executable = _get_dvc_args() |
| 160 | else: |
| 161 | executable = ensure_list(executable) |
| 162 | |
| 163 | with file: |
| 164 | return _detached_subprocess(executable + args, env=env, **kwargs) |
| 165 | |
| 166 | |
| 167 | def daemonize(args: list[str], executable: Union[str, list[str], None] = None) -> None: |
no test coverage detected