{"id":6454,"date":"2023-12-15T11:05:40","date_gmt":"2023-12-15T18:05:40","guid":{"rendered":"https:\/\/ioflood.com\/blog\/?p=6454"},"modified":"2023-12-15T11:07:15","modified_gmt":"2023-12-15T18:07:15","slug":"pgrep-linux-command","status":"publish","type":"post","link":"https:\/\/ioflood.com\/blog\/pgrep-linux-command\/","title":{"rendered":"pgrep Command Guide | Linux Process Management Basics"},"content":{"rendered":"<div class=\"wp-block-image\">\n<figure class=\"alignright size-full is-resized\"><img decoding=\"async\" src=\"https:\/\/ioflood.com\/blog\/wp-content\/uploads\/2023\/12\/Graphic-of-Linux-terminal-using-pgrep-command-focusing-on-process-searching-and-system-monitoring-300x300.jpg\" alt=\"Graphic of Linux terminal using pgrep command focusing on process searching and system monitoring\" width=\"300\" height=\"300\" title=\"\"><\/figure>\n<\/div>\n<p>Ever felt overwhelmed by the &#8216;pgrep&#8217; command in Linux? You&#8217;re not alone. Many users find the &#8216;pgrep&#8217; command a bit of a mystery. Think of pgrep as a detective &#8211; it helps you locate processes by their name and other attributes, saving you from sifting through a sea of process IDs.<\/p>\n<p><strong>In this guide, we&#8217;ll walk you through the ins and outs of the pgrep command in Linux<\/strong>, from basic usage to advanced techniques. We&#8217;ll cover everything from simple process searches to more complex queries using different flags and options. We&#8217;ll also discuss alternative approaches and troubleshooting common issues.<\/p>\n<p>So, let&#8217;s dive in and start mastering the pgrep command in Linux!<\/p>\n<h2>TL;DR: What is the pgrep command in Linux?<\/h2>\n<blockquote><p>\n  The <code>pgrep<\/code> command in Linux is a powerful tool used to find processes based on their name and other attributes. It is used with the syntax, <code>pgrep [arguments] command_to_search<\/code>.\n<\/p><\/blockquote>\n<p>Here&#8217;s a simple example:<\/p>\n<pre><code class=\"language-bash line-numbers\">pgrep bash\n\n# Output:\n# [Expected output: process IDs of all running instances of bash]\n<\/code><\/pre>\n<p>In this example, the <code>pgrep bash<\/code> command returns the process IDs of all running instances of bash. This is a basic use of the pgrep command, but there&#8217;s so much more to it. Continue reading for a more detailed explanation and advanced usage scenarios.<\/p>\n<h2>Beginner&#8217;s Guide to pgrep<\/h2>\n<p>The <code>pgrep<\/code> command is a valuable tool in Linux that allows you to find processes by their name or other attributes. It&#8217;s a part of the procps (or procps-ng) package, which provides monitoring utilities to manage system resources. The name <code>pgrep<\/code> stands for &#8216;process grep&#8217;, combining the functionality of &#8216;ps&#8217; (process status) and &#8216;grep&#8217; (a powerful text search tool).<\/p>\n<h3>How Does pgrep Work?<\/h3>\n<p>At its most basic, <code>pgrep<\/code> searches through the currently running processes and lists the process IDs which match the selection criteria to stdout. If no process matches the criteria, <code>pgrep<\/code> returns an exit code of 1.<\/p>\n<p>Let&#8217;s consider a simple example:<\/p>\n<pre><code class=\"language-bash line-numbers\">pgrep sshd\n\n# Output:\n# [Expected output: process IDs of all running instances of sshd]\n<\/code><\/pre>\n<p>In this example, <code>pgrep sshd<\/code> command will return the process IDs of all running instances of &#8216;sshd&#8217;. &#8216;sshd&#8217; stands for Secure Shell Daemon, which is a network protocol that provides a secure channel over an unsecured network.<\/p>\n<h3>Advantages of Using pgrep<\/h3>\n<p>One of the main advantages of using <code>pgrep<\/code> is its simplicity and ease of use. You can quickly find a process without having to manually sift through a long list of running processes. Its flexibility with different options and flags also allows you to refine your search.<\/p>\n<h3>Potential Pitfalls of pgrep<\/h3>\n<p>While <code>pgrep<\/code> is a powerful tool, it&#8217;s important to be aware of potential pitfalls. For instance, <code>pgrep<\/code> only searches for the exact match of your query. This means if you have a process named &#8216;myprocess1&#8217; and you search for &#8216;myprocess&#8217;, <code>pgrep<\/code> will not return &#8216;myprocess1&#8217;. To overcome this, you can use the <code>-f<\/code> flag to match against the entire command line.<\/p>\n<p>Remember, the more you understand about the <code>pgrep<\/code> command, the more effectively you can manage your Linux system. In the next section, we&#8217;ll explore some intermediate uses of <code>pgrep<\/code>.<\/p>\n<h2>Advanced Use of pgrep<\/h2>\n<p>As you become more familiar with the basic usage of <code>pgrep<\/code>, you&#8217;ll discover that its true power lies in its advanced features. <code>pgrep<\/code> offers a high degree of flexibility, allowing it to handle more complex process queries using different flags and options.<\/p>\n<p>Before we explore the advanced usage of <code>pgrep<\/code>, let&#8217;s familiarize ourselves with some of the command-line arguments or flags that can modify the behavior of the <code>pgrep<\/code> command. Here&#8217;s a table with some of the most commonly used <code>pgrep<\/code> arguments.<\/p>\n<table>\n<thead>\n<tr>\n<th>Argument<\/th>\n<th>Description<\/th>\n<th>Example<\/th>\n<\/tr>\n<\/thead>\n<tbody>\n<tr>\n<td><code>-l<\/code><\/td>\n<td>Displays the process name along with the PID.<\/td>\n<td><code>pgrep -l sshd<\/code><\/td>\n<\/tr>\n<tr>\n<td><code>-u<\/code><\/td>\n<td>Searches for processes owned by a specific user.<\/td>\n<td><code>pgrep -u root sshd<\/code><\/td>\n<\/tr>\n<tr>\n<td><code>-n<\/code><\/td>\n<td>Shows the newest (most recently started) of the matching processes.<\/td>\n<td><code>pgrep -n bash<\/code><\/td>\n<\/tr>\n<tr>\n<td><code>-o<\/code><\/td>\n<td>Shows the oldest (least recently started) of the matching processes.<\/td>\n<td><code>pgrep -o bash<\/code><\/td>\n<\/tr>\n<tr>\n<td><code>-v<\/code><\/td>\n<td>Negates the matching.<\/td>\n<td><code>pgrep -v sshd<\/code><\/td>\n<\/tr>\n<tr>\n<td><code>-x<\/code><\/td>\n<td>Matches processes with exactly the specified name.<\/td>\n<td><code>pgrep -x bash<\/code><\/td>\n<\/tr>\n<tr>\n<td><code>-f<\/code><\/td>\n<td>Matches against entire command line.<\/td>\n<td><code>pgrep -f 'bash -c'<\/code><\/td>\n<\/tr>\n<tr>\n<td><code>-P<\/code><\/td>\n<td>Matches processes with the specified parent process ID.<\/td>\n<td><code>pgrep -P 1<\/code><\/td>\n<\/tr>\n<tr>\n<td><code>-g<\/code><\/td>\n<td>Matches members of the process group ID.<\/td>\n<td><code>pgrep -g 1<\/code><\/td>\n<\/tr>\n<tr>\n<td><code>-t<\/code><\/td>\n<td>Matches processes associated with the specified terminal.<\/td>\n<td><code>pgrep -t pts\/0<\/code><\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<p>Now that we have a basic understanding of <code>pgrep<\/code> command line arguments, let&#8217;s dive deeper into the advanced use of <code>pgrep<\/code>.<\/p>\n<h3>Matching Against the Entire Command Line<\/h3>\n<p>One of the powerful features of <code>pgrep<\/code> is its ability to match against the entire command line. This is particularly useful when you have processes with similar names. The <code>-f<\/code> flag allows you to do this.<\/p>\n<p>Consider the following example:<\/p>\n<pre><code class=\"language-bash line-numbers\">pgrep -f 'bash -c'\n\n# Output:\n# [Expected output: process IDs of all running instances of 'bash -c']\n<\/code><\/pre>\n<p>In this example, <code>pgrep -f 'bash -c'<\/code> command will return the process IDs of all running instances of &#8216;bash -c&#8217;. Note that without the <code>-f<\/code> flag, <code>pgrep<\/code> would not return any results since there&#8217;s no exact match for &#8216;bash -c&#8217;.<\/p>\n<h3>Searching for Processes Owned by a Specific User<\/h3>\n<p>Another common use of <code>pgrep<\/code> is to find processes owned by a specific user. The <code>-u<\/code> flag allows you to do this.<\/p>\n<p>Here&#8217;s an example:<\/p>\n<pre><code class=\"language-bash line-numbers\">pgrep -u root sshd\n\n# Output:\n# [Expected output: process IDs of all 'sshd' processes owned by 'root']\n<\/code><\/pre>\n<p>In this example, <code>pgrep -u root sshd<\/code> command will return the process IDs of all &#8216;sshd&#8217; processes owned by &#8216;root&#8217;. This can be particularly useful when you&#8217;re trying to troubleshoot issues related to user processes.<\/p>\n<h3>Displaying the Process Name Along with the PID<\/h3>\n<p>Sometimes, it&#8217;s helpful to see the process name along with the PID. The <code>-l<\/code> flag allows you to do this.<\/p>\n<p>Consider the following example:<\/p>\n<pre><code class=\"language-bash line-numbers\">pgrep -l sshd\n\n# Output:\n# [Expected output: process IDs and names of all running instances of 'sshd']\n<\/code><\/pre>\n<p>In this example, <code>pgrep -l sshd<\/code> command will return the process IDs and names of all running instances of &#8216;sshd&#8217;. This can be particularly useful when you&#8217;re dealing with multiple instances of the same process.<\/p>\n<p>Remember, the more you understand about the <code>pgrep<\/code> command, the more effectively you can manage your Linux system. In the next section, we&#8217;ll explore some alternative approaches to <code>pgrep<\/code>.<\/p>\n<h2>Exploring Alternatives: pidof and ps<\/h2>\n<p>While <code>pgrep<\/code> is a powerful tool for process searching, it&#8217;s not the only tool available in Linux. There are other commands, such as <code>pidof<\/code> and <code>ps<\/code>, that can accomplish the same task. Understanding these alternatives can provide you with more flexibility and control when managing processes.<\/p>\n<h3>pidof: A Simple Alternative<\/h3>\n<p><code>pidof<\/code> is a Linux command used to find the process ID of a running program. It&#8217;s simpler than <code>pgrep<\/code> and doesn&#8217;t have as many options, but it can be handy for quick tasks.<\/p>\n<p>Here&#8217;s an example:<\/p>\n<pre><code class=\"language-bash line-numbers\">pidof sshd\n\n# Output:\n# [Expected output: process IDs of all running instances of 'sshd']\n<\/code><\/pre>\n<p>In this example, <code>pidof sshd<\/code> command will return the process IDs of all running instances of &#8216;sshd&#8217;. Notice how <code>pidof<\/code> provides a straightforward way to get the same result as <code>pgrep<\/code>.<\/p>\n<h3>ps: A More Detailed Approach<\/h3>\n<p><code>ps<\/code> is another command used to report a snapshot of the current processes. While it&#8217;s more commonly used to display processes owned by the user, it can be used in combination with <code>grep<\/code> to achieve similar results to <code>pgrep<\/code>.<\/p>\n<p>Consider the following example:<\/p>\n<pre><code class=\"language-bash line-numbers\">ps aux | grep sshd\n\n# Output:\n# [Expected output: detailed information about all running instances of 'sshd']\n<\/code><\/pre>\n<p>In this example, <code>ps aux | grep sshd<\/code> command will return detailed information about all running instances of &#8216;sshd&#8217;. The <code>ps aux<\/code> command displays all the running processes, and <code>grep sshd<\/code> filters out the processes related to &#8216;sshd&#8217;.<\/p>\n<h3>Weighing the Pros and Cons<\/h3>\n<p>While <code>pidof<\/code> and <code>ps<\/code> can serve as alternatives to <code>pgrep<\/code>, it&#8217;s important to consider their pros and cons. <code>pidof<\/code> is simpler and easier to use, but it lacks the flexibility and advanced options of <code>pgrep<\/code>. On the other hand, <code>ps<\/code> provides detailed information about processes, but it can be more complex and overwhelming for beginners.<\/p>\n<p>In the end, the choice between <code>pgrep<\/code>, <code>pidof<\/code>, and <code>ps<\/code> depends on your specific needs and comfort level with each command. The more tools you&#8217;re familiar with, the better equipped you&#8217;ll be to handle any situation.<\/p>\n<h2>Troubleshooting pgrep: Common Errors and Solutions<\/h2>\n<p>Like any command, <code>pgrep<\/code> can sometimes yield unexpected results or errors. Understanding these common issues and how to solve them can save you a lot of time and frustration.<\/p>\n<h3>No Results Returned<\/h3>\n<p>One common issue when using <code>pgrep<\/code> is that it may not return any results, even when you&#8217;re certain the process is running. This usually happens when <code>pgrep<\/code> fails to find an exact match for your query. Remember, <code>pgrep<\/code> is case sensitive and requires an exact match unless you use the <code>-f<\/code> flag.<\/p>\n<p>For example, if you have a process named &#8216;MyProcess&#8217; and you search for &#8216;myprocess&#8217;, <code>pgrep<\/code> will not return any results. To overcome this, you can use the <code>-f<\/code> flag to match against the entire command line.<\/p>\n<pre><code class=\"language-bash line-numbers\">pgrep -f MyProcess\n\n# Output:\n# [Expected output: process IDs of all running instances of 'MyProcess']\n<\/code><\/pre>\n<p>In this example, <code>pgrep -f MyProcess<\/code> command will return the process IDs of all running instances of &#8216;MyProcess&#8217;.<\/p>\n<h3>Too Many Results Returned<\/h3>\n<p>Another common issue is that <code>pgrep<\/code> may return too many results, especially when searching for common process names. To refine your search, you can use various flags like <code>-u<\/code> to search for processes owned by a specific user or <code>-x<\/code> to match processes with exactly the specified name.<\/p>\n<pre><code class=\"language-bash line-numbers\">pgrep -u root -x sshd\n\n# Output:\n# [Expected output: process IDs of all 'sshd' processes owned by 'root']\n<\/code><\/pre>\n<p>In this example, <code>pgrep -u root -x sshd<\/code> command will return the process IDs of all &#8216;sshd&#8217; processes owned by &#8216;root&#8217;. This helps narrow down the search to only the processes you&#8217;re interested in.<\/p>\n<h3>Best Practices and Optimization<\/h3>\n<p>When using <code>pgrep<\/code>, there are a few best practices to keep in mind. First, always try to be as specific as possible with your search criteria. This will help you get more accurate results and avoid unnecessary confusion. Second, make good use of <code>pgrep<\/code> flags to refine your search and control the output. Finally, remember to check the man page (<code>man pgrep<\/code>) for a full list of options and examples. The more you understand about the <code>pgrep<\/code> command, the more effectively you can manage your Linux system.<\/p>\n<h2>Understanding Linux Process Management<\/h2>\n<p>Before we delve deeper into the <code>pgrep<\/code> command, it&#8217;s important to understand the fundamentals of process management in Linux. A process, in simple terms, is an instance of a running program. Linux, being a multitasking operating system, can run multiple processes at the same time.<\/p>\n<h3>The Role of Process IDs<\/h3>\n<p>Each process in Linux is assigned a unique identifier known as a Process ID (PID). The operating system uses these PIDs to track and manage processes. PIDs are integral to how Linux handles tasks, allocates resources, and essentially keeps everything running smoothly.<\/p>\n<h3>The Connection Between pgrep and Linux Processes<\/h3>\n<p>This is where <code>pgrep<\/code> comes into play. The <code>pgrep<\/code> command is a tool that searches for processes based on their name and other attributes, and returns their PIDs. It&#8217;s a vital tool for system administrators and developers alike, as it simplifies the process of managing and controlling system processes.<\/p>\n<p>Consider this example:<\/p>\n<pre><code class=\"language-bash line-numbers\">pgrep -u root\n\n# Output:\n# [Expected output: process IDs of all processes owned by 'root']\n<\/code><\/pre>\n<p>In this example, <code>pgrep -u root<\/code> command will return the process IDs of all processes owned by &#8216;root&#8217;. This is a practical application of <code>pgrep<\/code> in process management, enabling you to quickly find all processes owned by a specific user.<\/p>\n<h3>The Bigger Picture<\/h3>\n<p>In the grand scheme of Linux process management, <code>pgrep<\/code> is just one of many tools. However, its simplicity and power make it an essential part of any Linux user&#8217;s toolkit. By understanding the fundamentals of Linux processes and how <code>pgrep<\/code> operates, you can effectively manage your system and troubleshoot issues when they arise.<\/p>\n<h2>Expanding Horizons: pgrep in Larger Contexts<\/h2>\n<p>The <code>pgrep<\/code> command, while powerful in its own right, can be even more potent when used in conjunction with other commands or within larger scripts or projects. Its ability to return process IDs based on specific criteria makes it an integral part of many scripting scenarios.<\/p>\n<h3>pgrep in Shell Scripts<\/h3>\n<p>Shell scripts often require process management, and <code>pgrep<\/code> can play a crucial role in these situations. For instance, you might need to check if a specific process is running before executing a certain part of your script. Here&#8217;s an example:<\/p>\n<pre><code class=\"language-bash line-numbers\">if pgrep -x \"sshd\" &gt; \/dev\/null\nthen\n    echo \"sshd is running\"\nelse\n    echo \"sshd is not running\"\nfi\n\n# Output:\n# 'sshd is running' if sshd is running\n# 'sshd is not running' if sshd is not running\n<\/code><\/pre>\n<p>In this script, <code>pgrep -x \"sshd\"<\/code> checks if &#8216;sshd&#8217; is running. If it is, the script prints &#8216;sshd is running&#8217;. If not, it prints &#8216;sshd is not running&#8217;. This is a simple example, but it illustrates how <code>pgrep<\/code> can be used in larger scripting contexts.<\/p>\n<h3>Complementary Commands<\/h3>\n<p>There are also many commands that often accompany <code>pgrep<\/code> in typical use cases. Some of these include <code>pkill<\/code> (which can terminate processes based on name and other attributes, similar to <code>pgrep<\/code>), <code>ps<\/code> (which provides a snapshot of the current processes), and <code>top<\/code> (which displays a dynamic real-time view of running system tasks).<\/p>\n<h3>Further Resources for Mastering Process Management<\/h3>\n<p>To dive deeper into process management and commands like <code>pgrep<\/code>, consider exploring these resources:<\/p>\n<ul>\n<li><a class=\"wp-editor-md-post-content-link\" href=\"https:\/\/www.geeksforgeeks.org\/process-management-in-linux\/\" target=\"_blank\" rel=\"noopener\">Linux Process Management: An Introduction<\/a> by Geek for Geeks provides a comprehensive overview of process management in Linux.<\/p>\n<\/li>\n<li>\n<p><a class=\"wp-editor-md-post-content-link\" href=\"https:\/\/github.com\/jlevy\/the-art-of-command-line\" target=\"_blank\" rel=\"noopener\">The Art of Command Line<\/a> on GitHub offers practical tips and techniques for using command line tools like <code>pgrep<\/code>.<\/p>\n<\/li>\n<li>\n<p><a class=\"wp-editor-md-post-content-link\" href=\"https:\/\/linuxcommandlibrary.com\/man\/pgrep\" target=\"_blank\" rel=\"noopener\">Linux Command Library<\/a> has a detailed man page for <code>pgrep<\/code>, including a full list of options and examples.<\/p>\n<\/li>\n<\/ul>\n<p>Remember, mastering tools like <code>pgrep<\/code> takes time and practice. Don&#8217;t be discouraged if you don&#8217;t understand everything right away. Keep exploring, keep learning, and you&#8217;ll become a Linux command line expert in no time.<\/p>\n<h2>Wrapping Up: Mastering pgrep Command in Linux<\/h2>\n<p>In this comprehensive guide, we&#8217;ve delved into the depths of the <code>pgrep<\/code> command in Linux, a powerful tool for finding processes based on their name and other attributes. This command is an essential part of any Linux user&#8217;s toolkit, simplifying process management and offering a high degree of flexibility and control.<\/p>\n<p>We started with the basics, discussing how to use <code>pgrep<\/code> at a beginner level. We then progressed to more advanced uses of <code>pgrep<\/code>, exploring different flags and options that allow for more complex process queries. We also covered alternative approaches to <code>pgrep<\/code>, such as <code>pidof<\/code> and <code>ps<\/code>, providing a broader understanding of process management tools in Linux.<\/p>\n<p>Throughout our journey, we tackled common issues and errors that you might encounter when using <code>pgrep<\/code>, providing solutions and best practices to overcome these challenges. We also discussed the fundamental concepts of process management in Linux and how <code>pgrep<\/code> fits into this bigger picture.<\/p>\n<p>Here&#8217;s a quick comparison of the methods we&#8217;ve discussed:<\/p>\n<table>\n<thead>\n<tr>\n<th>Method<\/th>\n<th>Pros<\/th>\n<th>Cons<\/th>\n<\/tr>\n<\/thead>\n<tbody>\n<tr>\n<td>pgrep<\/td>\n<td>Powerful, flexible, supports many options<\/td>\n<td>Requires exact match unless <code>-f<\/code> flag is used<\/td>\n<\/tr>\n<tr>\n<td>pidof<\/td>\n<td>Simple and easy to use<\/td>\n<td>Lacks the flexibility and options of <code>pgrep<\/code><\/td>\n<\/tr>\n<tr>\n<td>ps<\/td>\n<td>Provides detailed information about processes<\/td>\n<td>Can be more complex for beginners<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<p>Whether you&#8217;re just starting out with <code>pgrep<\/code> or looking to level up your process management skills, we hope this guide has given you a deeper understanding of <code>pgrep<\/code> and its capabilities. With its balance of power, flexibility, and simplicity, <code>pgrep<\/code> is a powerful tool for process management in Linux. Keep exploring, keep learning, and you&#8217;ll master Linux process management in no time. Happy coding!<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Ever felt overwhelmed by the &#8216;pgrep&#8217; command in Linux? You&#8217;re not alone. Many users find the &#8216;pgrep&#8217; command a bit of a mystery. Think of pgrep as a detective &#8211; it helps you locate processes by their name and other attributes, saving you from sifting through a sea of process IDs. In this guide, we&#8217;ll [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":13918,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[124,3,9],"tags":[],"class_list":["post-6454","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-bash","category-linux","category-sysadmin","cat-124-id","cat-3-id","cat-9-id","has_thumb"],"_links":{"self":[{"href":"https:\/\/ioflood.com\/blog\/wp-json\/wp\/v2\/posts\/6454","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/ioflood.com\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/ioflood.com\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/ioflood.com\/blog\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/ioflood.com\/blog\/wp-json\/wp\/v2\/comments?post=6454"}],"version-history":[{"count":7,"href":"https:\/\/ioflood.com\/blog\/wp-json\/wp\/v2\/posts\/6454\/revisions"}],"predecessor-version":[{"id":13888,"href":"https:\/\/ioflood.com\/blog\/wp-json\/wp\/v2\/posts\/6454\/revisions\/13888"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/ioflood.com\/blog\/wp-json\/wp\/v2\/media\/13918"}],"wp:attachment":[{"href":"https:\/\/ioflood.com\/blog\/wp-json\/wp\/v2\/media?parent=6454"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/ioflood.com\/blog\/wp-json\/wp\/v2\/categories?post=6454"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/ioflood.com\/blog\/wp-json\/wp\/v2\/tags?post=6454"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}