linux 中wps命令行使用

发布时间 2023-10-19 18:01:31作者: Tarzen

wps命令行使用的问题

关于wps 命令行通过终端执行:wps --help并没有返回任何帮助信息

在网上找了一些关于wps的linux命令行使用:

https://www.cnblogs.com/zhuwei0901-yanwu/p/9531106.html

最后发现:wps命令可以打开:word、wps、et、excel、ppt、pdf等等。

打开文档

打开终端输入:wps test.word

遗留问题:首次打开wps需要手动确认协议,目前没有办法通过命令跳过。应该是在配置文件中,目前没有找到相关资料。

image

这个时候终端会阻塞,因为你打开了一个wps进程没有关闭。所以我们需要后台运行

后台运行

打开终端输入:nohup wps test.word >> ./log.txt 2>&1 &

想关掉你打开的窗口

我们看一下wps没有打开任何文件时候,有关wps的进程:
image

当我们打开一个234.et文件的时候多了几个进程:

image

不关闭wps,我们手动继续打开一个test.word文档,发现ps查看进程找不到有关test.word的。这个时候你想通过命令单独关闭test.word基本上不可能了。当然命令行每次执行wps 命令都会单独拉起

我们直接kill -9 /opt/kingsoft/wps-office6.... 文件路径 掉这个进程wps窗口也就关闭了。在两台机器测试,发现有的时候中间会多一个/prometheus 有的时候又没有,所以我们直接忽略掉前面的信息,直接ps -ef|grep 文件名,然后kill -9 pid 。代码如下:

# wps打开文件
wps_open_file(){
  file_name=$1
  # 后台打开wps文件,防止阻塞进程
  nohup wps $file_name  >> ./log.txt  2>&1 &
  sleep 10s
  # 判断进程已经被打开后,关闭
  process_name="$file_name"
  process_id=$(ps aux | grep -v grep | grep "$process_name" | awk '{print $2}')
  if [ -z "$process_id" ]; then
      echo "进程不存在或未找到"
  else
      echo "  进程 $process_name 的PID为: $process_id"
      echo "  即将关闭该文件..."
      kill -9 $process_id
  fi
}