Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
openeuler
qemu
提交
f7cce898
Q
qemu
项目概览
openeuler
/
qemu
通知
10
Star
0
Fork
0
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
0
列表
看板
标记
里程碑
合并请求
0
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
Q
qemu
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
0
Issue
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
Pages
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
提交
Issue看板
提交
f7cce898
编写于
20年前
作者:
B
bellard
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
-pidfile option
git-svn-id:
svn://svn.savannah.nongnu.org/qemu/trunk@1166
c046a42c-6fe2-441c-8c8c-71466251a162
上级
fe2cece6
无相关合并请求
变更
2
隐藏空白更改
内联
并排
Showing
2 changed file
with
51 addition
and
1 deletion
+51
-1
qemu-doc.texi
qemu-doc.texi
+4
-0
vl.c
vl.c
+47
-1
未找到文件。
qemu-doc.texi
浏览文件 @
f7cce898
...
...
@@ -202,6 +202,10 @@ Windows.
@item -full-screen
Start in full screen.
@item -pidfile file
Store the QEMU process PID in @var
{
file
}
. It is useful if you launch QEMU
from a script.
@end table
Network options:
...
...
This diff is collapsed.
Click to expand it.
vl.c
浏览文件 @
f7cce898
...
...
@@ -1666,6 +1666,46 @@ static int net_fd_init(NetDriverState *nd, int fd)
#endif
/* !_WIN32 */
/***********************************************************/
/* pid file */
static
char
*
pid_filename
;
/* Remove PID file. Called on normal exit */
static
void
remove_pidfile
(
void
)
{
unlink
(
pid_filename
);
}
static
void
create_pidfile
(
const
char
*
filename
)
{
struct
stat
pidstat
;
FILE
*
f
;
/* Try to write our PID to the named file */
if
(
stat
(
filename
,
&
pidstat
)
<
0
)
{
if
(
errno
==
ENOENT
)
{
if
((
f
=
fopen
(
filename
,
"w"
))
==
NULL
)
{
perror
(
"Opening pidfile"
);
exit
(
1
);
}
fprintf
(
f
,
"%d
\n
"
,
getpid
());
fclose
(
f
);
pid_filename
=
qemu_strdup
(
filename
);
if
(
!
pid_filename
)
{
fprintf
(
stderr
,
"Could not save PID filename"
);
exit
(
1
);
}
atexit
(
remove_pidfile
);
}
}
else
{
fprintf
(
stderr
,
"%s already exists. Remove it and try again.
\n
"
,
filename
);
exit
(
1
);
}
}
/***********************************************************/
/* dumb display */
...
...
@@ -2533,6 +2573,7 @@ void help(void)
"Debug/Expert options:
\n
"
"-monitor dev redirect the monitor to char device 'dev'
\n
"
"-serial dev redirect the serial port to char device 'dev'
\n
"
"-pidfile file Write PID to 'file'
\n
"
"-S freeze CPU at startup (use 'c' to start execution)
\n
"
"-s wait gdb connection to port %d
\n
"
"-p port change gdb connection port
\n
"
...
...
@@ -2625,6 +2666,7 @@ enum {
QEMU_OPTION_serial
,
QEMU_OPTION_loadvm
,
QEMU_OPTION_full_screen
,
QEMU_OPTION_pidfile
,
};
typedef
struct
QEMUOption
{
...
...
@@ -2685,7 +2727,8 @@ const QEMUOption qemu_options[] = {
{
"serial"
,
1
,
QEMU_OPTION_serial
},
{
"loadvm"
,
HAS_ARG
,
QEMU_OPTION_loadvm
},
{
"full-screen"
,
0
,
QEMU_OPTION_full_screen
},
{
"pidfile"
,
HAS_ARG
,
QEMU_OPTION_pidfile
},
/* temporary options */
{
"pci"
,
0
,
QEMU_OPTION_pci
},
{
"cirrusvga"
,
0
,
QEMU_OPTION_cirrusvga
},
...
...
@@ -3110,6 +3153,9 @@ int main(int argc, char **argv)
case
QEMU_OPTION_full_screen
:
full_screen
=
1
;
break
;
case
QEMU_OPTION_pidfile
:
create_pidfile
(
optarg
);
break
;
}
}
}
...
...
This diff is collapsed.
Click to expand it.
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录
反馈
建议
客服
返回
顶部